2016-03-08 128 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

謝謝。示例代碼工作正常。 但我仍然面臨風格的問題..之前,風格被定義在按鈕即在