【发布时间】:2015-03-18 09:58:02
【问题描述】:
我对 TreeView 的 WPF 数据绑定和样式声明感到困惑,尤其是对于子节点。
我的 ViewModel 包含具有以下层次结构的对象:
- Component1
- SubcomponentA
- SubcomponentB
- Component2
- SubcomponentX
- SubcomponentY
- SubcomponentZ
我想修改 XAML 文件,因此我不必在 .cs 文件中执行任何操作。
这段代码确实有效:
<TreeView Name="tvComponent" ItemsSource="{Binding BpModule.BpComponentPrototypes.Elements}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding BpSubcomponents.Elements}">
<StackPanel Orientation="Horizontal">
<CheckBox Name="cb_run"></CheckBox>
<TextBlock Text="{Binding ShortName}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
但是,我想为根节点和子节点创建不同的样式。 我用几乎完全不同的 XAML 代码尝试了不同的方法。但主要问题是描述子节点绑定到其父节点的依赖关系,因此它们在运行时保持为空。
你能帮帮我吗?
谢谢。
【问题讨论】: