Связывание видимости для управления в другом классе с WPF - PullRequest
1 голос
/ 11 сентября 2009

В моем главном окне xaml у меня есть два пользовательских элемента управления и два RadioButton s. Я хочу, чтобы RadioButton s контролировал 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}" >

Во время выполнения я получаю эту ошибку:
Cannot find source for binding with reference 'ElementName=Window1.radioButton_Tab'

Что я пропускаю?

1 Ответ

1 голос
/ 11 сентября 2009

Имя 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>
...