我有 3 节课:
大楼里有办公室,每个办公室里都有人。
我的 ViewModel 有一个 ObservableCollection 办公室,其中一个属性是 Building 和 ObservableCollection。
创建绑定(bind)到办公室并按建筑物、办公室、人员分组的 TreeView 的最佳方法是什么?
例子:
最佳答案
如果您想在 TreeView 中获得此布局,您将为建筑物和办公室创建 HieratchicalDataTemplates 并为人员创建 DataTemplate。我假设您有一个名为 Name
的文本属性。在所有 3 个 ViewModel 中。
<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>
关于c# - WPF MVVM TreeView 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30975338/