WPF зависимость между элементами управления - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть 3 текстовых поля, их видимость зависит от флажка.Я хочу установить IsEnabled = false во всех текстовых полях, когда checkbox.IsChecked = false и IsEnabled = true, когда IsChecked = true.Как мне добиться этой зависимости в XAML?

спасибо.

Ответы [ 3 ]

2 голосов
/ 28 сентября 2011

вы можете связывать между именованными элементами, и пока вы привязываетесь к свойствам зависимостей, привязка будет отражать любые изменения

<TextBox IsEnabled="{Binding ElementName=SomeCheckBox, Path=IsChecked}" />
1 голос
/ 28 сентября 2011
<StackPanel>
    <CheckBox Name="Checker" />

    <TextBox IsEnabled="{Binding ElementName=Checker, Path=IsChecked}" />
    <TextBox IsEnabled="{Binding ElementName=Checker, Path=IsChecked}" />
    <TextBox IsEnabled="{Binding ElementName=Checker, Path=IsChecked}" />
</StackPanel>
1 голос
/ 28 сентября 2011

Свяжите свойство IsEnabled со свойством IsChecked в CheckBox.

<TextBox IsEnabled="{Binding ElementName=NameOfCheckBox, Path=IsChecked}" />

Если ваша цель состоит в том, чтобы связать это значение bool с Visibility, как предполагает ваш вопрос, вытогда потребуется также использовать конвертер, такой как BooleanToVisibilityConverter .

<TextBox Visibility="{Binding IsChecked, ElementName=NameOfCheckBox, Converter={StaticResource BoolToVisConverter}}" />
...