2

我已经简化了一些代码和一个问题来询问我将如何实现这一点 - 我希望我的代码在选择 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>
4

1 回答 1

0

如果您在 Silverlight 5 中工作,则可以使用 Ancestor Binding 实现此目的。

<vws:Linked1 Visibility="{Binding IsSelected, 
                RelativeSource={RelativeSource AncestorType=telerik:RadPane}, 
                Converter={StaticResource MyBoolToVisibilityConverter}}" />
于 2013-03-04T19:45:06.063 回答