Привязка WPF TreeView к объекту - PullRequest
       0

Привязка WPF TreeView к объекту

0 голосов
/ 06 сентября 2010

Как привязать TreeView к коллекции групп ListCollectionView?

код cs:

ListCollectionView view=new ListCollectionView(Global._subjectCollection);
view.GroupDescriptions.Add(new PropertyGroupDescription("Fund"));
view.GroupDescriptions.Add(new PropertyGroupDescription("Cipher"));
treeView1.ItemsSource = view.Groups;

код XAML:

<TreeView>???</TreeView>

1 Ответ

1 голос
/ 06 сентября 2010

Ознакомьтесь с записью в блоге Беа Штольниц "Как отобразить сгруппированные данные в TreeView?" .

Вы используете HierarchicalDataTemplate для представления CollectionViewGroup.Свойство Name будет иметь значение свойства, с которым вы сгруппированы, поэтому значение Fund или Cipher и свойство Items будут иметь вложенную группу для внешних групп и фактический объект для самой внутренней группировки.Это будет выглядеть примерно так:

<Window.Resources>
    <!-- Template for actual object -->
    <DataTemplate x:Key="ThirdTemplate">
        <TextBlock Text="{Binding OtherData}"/>
    </DataTemplate>
    <!-- Template for Cipher groups -->
    <HierarchicalDataTemplate x:Key="SecondTemplate"
                              ItemsSource="{Binding Items}"
                              ItemTemplate="{StaticResource ThirdTemplate}">
        <TextBlock Text="{Binding Name}"/>
    </HierarchicalDataTemplate>
    <!-- Template for Fund groups -->
    <HierarchicalDataTemplate x:Key="FirstTemplate"
                              ItemsSource="{Binding Items}"
                              ItemTemplate="{StaticResource SecondTemplate}">
        <TextBlock Text="{Binding Name}"/>
    </HierarchicalDataTemplate>
</Window.Resources>
<TreeView Name="treeView1" ItemTemplate="{StaticResource FirstTemplate}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...