我有两个check boxes
和一个text box
。文本框的IsEnabled
属性应绑定到这两个复选框的IsChecked
属性。如果启用了其中一个复选框或两个复选框,则应启用文本框。
我想到的第一个解决方案是multibinding
。但它还需要另一堂课。有没有更简单的方法呢?
答案 0 :(得分:1)
您可以在TextBox样式上使用两个DataTriggers
来执行此操作,您可以在检查任何复选框的情况下启用TextBox。
<CheckBox x:Name="checkBox1"/>
<CheckBox x:Name="checkBox2"/>
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=checkBox1}"
Value="True">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=checkBox2}"
Value="True">
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
答案 1 :(得分:0)
我认为不是 - 我真的很喜欢xml中的“和”或“或”表达式,但是没有提供它们。 我偶然发现了这个图书馆,声称要添加它们: http://wpfconverters.codeplex.com/ 但我从来没有广泛使用它们。