2016-03-08 94 views
0

我希望在选中2个复选框中的任何一个时启用按钮。 如果两个复选框均未选中,则该按钮应该处于非活动状态(IsEnabled = false)将按钮的IsEnabled属性绑定到2复选框XAML中的IsChecked属性

可以像这样进行绑定。

的IsEnabled = “{绑定的ElementName =复选框路径=}器isChecked”

但它只适用于单个复选框。我想将两个复选框IsChecked属性绑定到XAML本身的按钮的IsEnabled属性。 (我知道如何使用代码更改属性)

我试过使用多触发器。

  <Button.IsEnabled> 
       <MultiBinding> 
        <MultiBinding.Bindings>             <Binding ElementName="BlankmeasurementCheckBox" Path="IsChecked"/> 
        <Binding ElementName="MeasurementCheckBox" Path="IsChecked"/> 
        </MultiBinding.Bindings> 
      </MultiBinding> 
      </Button.IsEnabled> 

但它似乎没有帮助。你能帮我解决吗?提前致谢。

+0

请发表你尝试过什么.... –

+0

您发布上面的代码将只设置一个复选框。 –

+0

我已添加..请检查 – ViVi

回答

2

您可以在这里使用MultiDataTrigger

下面是示例代码:

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> 
     <CheckBox Name="cbSampleYes" Content="Yes" /> 
     <CheckBox Name="cbSampleSure" Content="I'm sure" /> 
     <Button HorizontalAlignment="Center" Margin="0,20,0,0"> 
      <Button.Style> 
       <Style TargetType="Button"> 
        <Setter Property="Content" Value="Verified" />      
        <Style.Triggers> 
         <MultiDataTrigger> 
          <MultiDataTrigger.Conditions> 
           <Condition Binding="{Binding ElementName=cbSampleYes, Path=IsChecked}" Value="False" /> 
           <Condition Binding="{Binding ElementName=cbSampleSure, Path=IsChecked}" Value="False" /> 
          </MultiDataTrigger.Conditions> 
          <Setter Property="Content" Value="Unverified" /> 
          <Setter Property="IsEnabled" Value="False" /> 
         </MultiDataTrigger> 
        </Style.Triggers> 
       </Style> 
      </Button.Style> 
     </Button> 
    </StackPanel> 
+0

谢谢。示例代码工作正常。 但我仍然面临风格的问题..之前,风格被定义在按钮即在