绑定或条件

时间:2014-02-20 08:55:11

标签: c# wpf binding

我有两个check boxes和一个text box。文本框的IsEnabled属性应绑定到这两个复选框的IsChecked属性。如果启用了其中一个复选框或两个复选框,则应启用文本框。 我想到的第一个解决方案是multibinding。但它还需要另一堂课。有没有更简单的方法呢?

2 个答案:

答案 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/ 但我从来没有广泛使用它们。