Kolumne XAML Expertise: WPF und Windows-Apps

XAML-Tipp: WPF – TreeView per Standard aufklappen
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 – TreeView per Standard aufklappen“.

Das TreeView-Steuerelement zeigt per Standard alle Einträge zusammengeklappt an. Einzelne Einträge können über die IsExpanded Property aufgeklappt werden. Etwas schwieriger wird es hierbei, wenn das TreeView dynamisch durch Data Binding aufgebaut wird.

Eine elegante Lösung hierfür wäre ein ItemContainerStyle, der für jeden Eintrag die IsExpanded Property auf den Wert True setzt. In Listing 1 wird gezeigt, wie ein solcher ItemContainerStyle deklariert wird und beim TreeView zum Einsatz kommt.

<Window x:Class="WpfExpandingTreeView.MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="d"
  Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
      <Style x:Key="ExpandAll" TargetType="{x:Type TreeViewItem}">
        <Setter Property="IsExpanded" Value="True"/>
      </Style>
    </Window.Resources>
    <Grid>
      <TreeView ItemContainerStyle="{StaticResource ExpandAll}">
        <TreeViewItem Header="Level 1">
          <TreeViewItem Header="Level 2.1" />
        </TreeViewItem>
      </TreeView>
    </Grid>
</Window>
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -