我已经简化了一些代码和一个问题,问我将如何实现这一点 - 我希望我的代码是这样的,当选择RadPane Page1时,RadPane Linked1是可见的,但不是RadPane Linked2(反之亦然) )。实现这一目标的最佳方法是什么,请记住我非常严格地遵守MVVM。
我有一个带有两个标题的Telerik RadPane,它们都显示不同的页面:
<telerik:RadPane Header="Page 1" Name="Page1" IsSelected="{Binding IsPage1Selected, Mode=TwoWay}">
<vws:Page1 />
</telerik:RadPane>
<telerik:RadPane Header="Page2" Name="Page2" IsSelected="{Binding IsPage1Selected, Mode=TwoWay, Converter={StaticResource NotBooleanConverter}}">
<vws:Page2 />
</telerik:RadPane>
然后我有一个容器,在页面的下方有两个元素Linked1和Linked2。
<telerik:RadSplitContainer InitialPosition="DockedBottom">
<telerik:RadPaneGroup>
<telerik:RadPane Header="Linked1">
<vws:Linked1 />
</telerik:RadPane>
<telerik:RadPane Header="Linked2">
<vws:Linked1 />
</telerik:RadPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
答案 0 :(得分:0)
如果您使用的是Silverlight 5,则可以使用Ancestor Binding实现此目的。
<vws:Linked1 Visibility="{Binding IsSelected,
RelativeSource={RelativeSource AncestorType=telerik:RadPane},
Converter={StaticResource MyBoolToVisibilityConverter}}" />