2

私はいくつかのコードとこれをどのように達成するかを尋ねる問題を単純化しました-RadPanePage1が選択されたときに、RadPane Linked1は表示されますが、RadPane Linked2は表示されない(またはその逆)ようにコードを作成します。私はMVVMを非常に厳密に遵守していることを念頭に置いて、これを達成するための最良の方法は何ですか。

Telerik RadPaneがあり、2つのヘッダーがあり、どちらも異なるページを表示しています。

<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の2つの要素を保持するコンテナーがあります。

        <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で作業している場合は、AncestorBindingを使用してこれを実現できます。

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