我正在尝试将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问题/限制?
答案 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>