2013-03-04 72 views
2

我简化了一些代码和问题,问我该如何完成此任务 - 我希望我的代码能够在选择RadPane Page1时,RadPane Linked1可见,但不是RadPane Linked2(反之亦然)。请记住,我非常严格地遵守MVVM,因此完成此操作的最佳方法是什么。更改基于哪个RadPane的元素的可见性

我有一个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

如果您正在使用Silverlight 5,则可以使用祖先绑定来实现此目的。

<vws:Linked1 Visibility="{Binding IsSelected, 
       RelativeSource={RelativeSource AncestorType=telerik:RadPane}, 
       Converter={StaticResource MyBoolToVisibilityConverter}}" />