Windows Developer

XAML-Kolumne: WPF und Windows-Apps

XAML-Tipp: WPF – „ItemTemplate“: komplette Weite verwenden
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: ‚ItemTemplate‘ – komplette Weite verwenden“.

WPF: „ItemTemplate“ – komplette Weite verwenden

Ein toller Aspekt von XAML ist die automatische Ausrichtung der Steuerelemente. Etwas schwieriger wird es hingegen für ItemTemplates. Diese werden einmalig gerendert und können für unterschiedliche Inhaltssteuerelemente mit verschiedenen Größen zum Einsatz kommen. Somit hilft nur das Setzen von HorizontalAlignment=“Stretch“ oft nicht weiter.

Als Lösung verwendet man beim Inhaltssteuerelement zusätzlich die HorizontalContentAlignment Property. Sie kümmert sich darum, dass Inhalte beim Rendern automatisch die jeweilige Größe des Inhaltssteuerelements erhalten. In Listing 1 wird die komplette Lösung gezeigt und in Listing 2 wird veranschaulicht, wie die Lösung via Style automatisch für alle Inhaltssteuerelemente festgelegt werden kann.

Listing 1: „ItemTemplate“ soll die komplette Weite verwenden“

 
<Window.Resources>
  <DataTemplate x:Key="ItemTemplate">
    <StackPanel Background="Azure">
      <TextBlock Text="{Binding Property1}" />
      <CheckBox IsChecked="{Binding Property2}" />
    </StackPanel>
  </DataTemplate>
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource SampleDataSource}}">
  <ListBox
  Width="248"
  Height="150"
  HorizontalContentAlignment="Stretch"
  ItemTemplate="{DynamicResource ItemTemplate}"
  ItemsSource="{Binding Collection}" />
</Grid>

Listing 2: „HorizontalContentAlignment“ per Style automatisch festlegen“

 
<Style TargetType="ListBoxItem">
  <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
</Style>

BASTA! Spring 2020

Dr. Holger Schwichtenberg

Von .NET Framework zu .NET Core migrieren oder nicht migrieren, das ist hier (nicht die einzige) Frage!

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Rainer Stropek

C#-8- und .NET-Core-3-Workshop

mit Rainer Stropek (software architects/www.IT-Visions.de)

Adrienne Tacke

Azure Automation: The Good Parts

mit Adrienne Tacke (Adrienne Tacke)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -