Связывание видимости для управления в другом классе с WPF

StackOverflow https://stackoverflow.com/questions/1411808

  •  05-07-2019
  •  | 
  •  

Вопрос

В моем главном окне xaml у меня есть два пользовательских элемента управления и два элемента 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top