WPFを使用して異なるクラスのコントロールに可視性をバインドする
-
05-07-2019 - |
質問
メインウィンドウxamlには、2つのユーザーコントロールと2つの RadioButton
があります。 RadioButton
でユーザーコントロールの Visibility
を制御したい。
xamlの抜粋:
<WpfApp2:ViewTree/>
<WpfApp2:ViewTab/>
<RadioButton x:Name="radioButton_Tree" GroupName="View"
IsChecked="True"> Tree View </RadioButton>
<RadioButton x:Name="radioButton_Tab" GroupName="View"
IsChecked="False" >Tab View</RadioButton>
ユーザーコントロールには、次のようなものがあります:
Visibility="{Binding IsChecked,
Converter={StaticResource BooleanToVisibilityConverter},
ElementName=Window1.radioButton_Tree}" >
実行時にこのエラーが表示されます:
参照 'ElementName = Window1.radioButton_Tab'を持つバインディングのソースが見つかりません
見落としているものは何ですか?
解決
Window1という名前は、ユーザーコントロールのコンテキストではありません。
以下のコードを使用できますか?
<WpfApp2:ViewTree Visibility="{Binding IsChecked,
Converter={StaticResource BooleanToVisibilityConverter},
ElementName=radioButton_Tree}" />
<WpfApp2:ViewTab Visibility="{Binding IsChecked,
Converter={StaticResource BooleanToVisibilityConverter},
ElementName=radioButton_Tab}" />
<RadioButton x:Name="radioButton_Tree" GroupName="View"
IsChecked="True"> Tree View </RadioButton>
<RadioButton x:Name="radioButton_Tab" GroupName="View"
IsChecked="False" >Tab View</RadioButton>
所属していません StackOverflow