我有以下XAML,当特定属性ExpandNodes为True时,它应该扩展我的整个树视图,但它永远不会被触发。
ruby myapp -f
在我的ViewModel中,我在特定事件期间将ExpandNodes设置为True,但树视图仍未展开。这不是我的DataContext的问题,因为我有来自同一Viewmodel的其他属性绑定并且工作正常。
My Viewmodel:
<TreeView>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding ExpandNodes}" Value="True">
<Setter Property="IsExpanded" Value="True" />
</DataTrigger>
<DataTrigger Binding="{Binding ExpandNodes}" Value="False">
<Setter Property="IsExpanded" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle>
// some other code
</TreeView>
答案 0 :(得分:1)
太复杂了,你可以简单地将IsExpanded
属性绑定到你的对象并引发PropertyChanged事件。
<TreeView>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding ExpandNodes,
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,
TargetNullValue=False}" />
</Style>
</TreeView.ItemContainerStyle>
// some other code
</TreeView>