C# 将CollectionViewSource多级组绑定到嵌套的HierarchycalDataTemplate
只有第一级树节点可见,没有任何子节点,但my CollectionViewSource的组中至少有一个项。如何将子项的ItemSource绑定到每个组中的Items属性C# 将CollectionViewSource多级组绑定到嵌套的HierarchycalDataTemplate,c#,wpf,treeview,collectionviewsource,C#,Wpf,Treeview,Collectionviewsource,只有第一级树节点可见,没有任何子节点,但my CollectionViewSource的组中至少有一个项。如何将子项的ItemSource绑定到每个组中的Items属性 <HierarchicalDataTemplate x:Key="myTemplate" > <!-- Level 1 --> <WrapPanel> <CheckBox IsChecked="True" Margin="2,2,2,2" ><
<HierarchicalDataTemplate x:Key="myTemplate" >
<!-- Level 1 -->
<WrapPanel>
<CheckBox IsChecked="True" Margin="2,2,2,2" ></CheckBox>
<TextBlock Text="{Binding Name}" Margin="2,2,2,2" ></TextBlock>
</WrapPanel>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<!-- Level 2 -->
<WrapPanel>
<CheckBox IsChecked="True" Margin="2,2,2,2" ></CheckBox>
<TextBlock Text="{Binding Name}" Margin="2,2,2,2" ></TextBlock>
</WrapPanel>
<DataTemplate>
<WrapPanel>
<CheckBox IsChecked="{Binding IsChecked}" Margin="2,2,2,2" ></CheckBox>
<TextBlock Text="{Binding Name}" Margin="2,2,2,2" ></TextBlock>
</WrapPanel>
</DataTemplate>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
<TreeView x:Name="TreeViewClaims" Grid.Row="1" Grid.Column="0" Margin="2,2,2,2" BorderThickness="0"
ItemsSource="{Binding GroupByView.View.Groups}"
ItemTemplate="{StaticResource myTemplate}">
</TreeView>
如果所有项目都以相同的方式显示,则只需指定一个HierachicalDataTemplate并设置ItemsSource(存储子项的属性)
如果希望每个级别有不同的视图,可以为每个级别实现不同的viewmodel,并在HierachicalDataTemplate中使用TargetType属性。模板将自动应用于渲染viewmodel。但是你不能像在第一篇文章中那样使用层次数据模板 我希望默认情况下选中除终端子节点之外的所有节点的复选框,对于终端子节点,它将由绑定属性决定。这就是为什么我必须为每个级别显式定义模板的原因。
<HierarchicalDataTemplate x:Key="myTemplate"
ItemssSource="{Binding Items}"
TargetType="{x:Type FirstLevelViewModel}">
<WrapPanel>
<CheckBox IsChecked="True" Margin="2,2,2,2" ></CheckBox>
<TextBlock Text="{Binding Name}" Margin="2,2,2,2" ></TextBlock>
</WrapPanel>
</HierarchicalDataTemplate>