我正在尝试在扩展其父节点时扩展子节点。
另有说明:(Child.IsExpanded == Parent.IsExpanded)
这看似正确,但似乎不起作用:
<TreeView ItemsSource="{Binding}">
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Style.Triggers>
<DataTrigger Value="True"
Binding="{Binding Path=IsExpanded,
RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type TreeViewItem},
AncestorLevel=2}}">
<Setter Property="IsExpanded" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
这两个都没有:
<TreeView ItemsSource="{Binding}">
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded"
Value="{Binding Path=IsExpanded,
RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type TreeViewItem},
AncestorLevel=2}}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
这里缺少什么?
提前致谢。
答案 0 :(得分:1)
两者都适合我。如果您使用静态TreeViewItems
对其进行测试,请确保通过资源应用样式,ItemContainerStyle
仅与动态创建的容器相关。另请注意,用户交互可能会设置本地值,从而覆盖这些样式。