以下是我目前拥有的XAML。我想通过切换按钮模拟树,listview将它的可见性绑定到切换按钮chcked状态。问题是,我需要绑定一个兄弟的孩子。这甚至可能吗?
此代码不起作用,因为切换不是祖先。
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<ToggleButton Name="tglBtn">+</ToggleButton>
<TextBlock>test</TextBlock>
</StackPanel>
<ListView Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}, Path=IsChecked, Converter={StaticResource boolToVis}}">
<ListView.View>
<GridView>
<GridViewColumn Header="Thread" DisplayMemberBinding="{Binding thread_name}" />
<GridViewColumn Width="Auto" Header="Created" DisplayMemberBinding="{Binding thread_created}" />
<GridViewColumn Width="Auto" Header="Modified" DisplayMemberBinding="{Binding last_modified}" />
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:2)
您可以使用ElementName Binding来访问ToggleButton
答案 1 :(得分:1)
我找到了一个解决方案这个问题可以在样式中重复使用(它不需要使用ElementName)。我已经写了完整的答案,并附有示例和屏幕截图here。