WPF - 使用相对路径Self.Sibling.Child绑定到控件

时间:2011-03-16 02:37:12

标签: wpf

以下是我目前拥有的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>

2 个答案:

答案 0 :(得分:2)

您可以使用ElementName Binding来访问ToggleButton

答案 1 :(得分:1)

找到了一个解决方案这个问题可以在样式中重复使用(它不需要使用ElementName)。我已经写了完整的答案,并附有示例和屏幕截图here