2011-09-28 165 views
0

我有3個文本框的可見性取決於複選框。我想在所有文本框中設置IsEnabled = false,當checkbox.IsChecked = false且IsEnabled = true時,IsChecked = true。我如何在XAML中實現這種依賴關係?控件之間的WPF依賴關係

謝謝。

回答

2

可以命名元素之間的結合,只要您綁定到依賴屬性,綁定將反映任何變化

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

IsEnabled屬性綁定到CheckBox上的IsChecked屬性。

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

如果你的目標是那麼布爾值綁定到Visibility你的問題建議,你會那麼還需要利用一個轉換器,如BooleanToVisibilityConverter

<TextBox Visibility="{Binding IsChecked, ElementName=NameOfCheckBox, Converter={StaticResource BoolToVisConverter}}" /> 
1
<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>