为什么这个Parent.Parent.IsChecked绑定不起作用?

时间:2014-05-20 01:23:38

标签: xaml data-binding winrt-xaml

我正在尝试将Rectangle的可见性与父级父级IsChecked的{​​{1}}属性绑定。我使用“创建数据绑定...”窗口来创建绑定:

ToggleButton

绑定在设计器中起作用,但是当我运行程序时它没有 如果我将绑定更改为以下它可以工作,但我不想为我创建的每个<ToggleButton Margin="20,20,20,0"> <Grid> <Rectangle Fill="{StaticResource BlueLight}" Visibility="{Binding Parent.Parent.IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource Mode=Self}}" /> <TextBlock Margin="5,0,5,5" Text="Values" /> </Grid> </ToggleButton> 对象指定一个名称。

ToggleButton

如果让相对绑定工作,我做错了什么?或者这是WinRT问题/限制?

1 个答案:

答案 0 :(得分:0)

如下所示与祖先结盟:

    <ToggleButton Margin="20,20,20,0">
        <Grid>
            <Rectangle Fill="{StaticResource BlueLight}" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, RelativeSource={RelativeSource FindAncestor,AncestorType=ToggleButton}}" />
            <TextBlock Margin="5,0,5,5" Text="Values" />
        </Grid>
    </ToggleButton>