我有三节课:
大楼里有办公室,每个办公室都有人员。我的ViewModel有一个办公室的ObservableCollection,其中之一是建筑物和ObservableCollection。
创建绑定到office的TreeView并按建筑物、办公室、人员分组的最佳方法是什么?
示例:
- Office1
- Person1
- Person2
- Person3
- Office2
- Person4
- person5
- Office3
- Person6
- Person7
- Person8
- Office4
- Person9
- person10
发布于 2015-06-22 09:01:13
如果您希望在树视图中获得此布局,则将为建筑物和办公室创建HieratchicalDataTemplates,为个人创建DataTemplate。我认为在您的所有3个Name
中都有一个名为Name
的文本属性。
<TreeView ItemsSource="{Binding Buildings}">
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Offices}" DataType="{x:Type VM:BuildingViewModel}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Persons}" DataType="{x:Type VM:OfficeViewModel}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type VM:PersonViewModel}">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</TreeView.Resources>
</TreeView>
https://stackoverflow.com/questions/30975338
复制相似问题