【问题标题】:Expand Child When Parent IsExpanded in a TreeView在 TreeView 中展开父项时展开子项
【发布时间】:2011-11-22 08:37:36
【问题描述】:

我正在尝试在展开其父节点时展开子节点。

另外声明:(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>

这里缺少什么?

提前致谢。

【问题讨论】:

    标签: wpf binding treeview datatrigger


    【解决方案1】:

    两者都对我有用。如果您使用静态TreeViewItems 对其进行测试,请确保通过资源应用样式,ItemContainerStyle 仅与动态创建的容器相关。另请注意,用户交互可能会设置 本地值,从而覆盖这些样式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2011-10-15
      • 2018-02-18
      相关资源
      最近更新 更多