2014-12-04 65 views
0

一個複選框有一個已經綁定到布爾字段一個複選框「IsOutsourcing」檢查基於複選框選擇在WPF

<CheckBox x:Name="chkIsOutsourcing" IsChecked="{Binding IsOutsourcing, Mode=TwoWay}" /> 

我需要檢查時,另一個複選框以檢查它。

<CheckBox x:Name="chkIsOption1" IsChecked="{Binding IsOption1, Mode=TwoWay}" /> 

使用XAML可以做些什麼?

我們可以在這裏使用多個元素進行綁定嗎?

IsChecked="{Binding IsOutsourcing chkIsOption1, Mode=TwoWay}" 

謝謝!

回答

1

這可以使用MultiBinding和MultiValueConverter完成。

<CheckBox x:Name="chkIsOutsourcing"> 
    <CheckBox.IsChecked> 
     <MultiBinding Converter="{StaticResource BooleanConverter}"> 
      <Binding Path="IsOutSourcing" /> 
      <Binding Path="IsChecked" 
         ElementName="chkIsOption1" /> 
     </MultiBinding> 
    </CheckBox.IsChecked> 
</CheckBox> 

轉換器,

public class BooleanConverter : IMultiValueConverter 
{ 
    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     bool value1 = (bool)values[0]; 
     bool value2 = (bool)values[1]; 

     return value1 || value2; 
    } 

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 
+0

這似乎正是我所需要的。謝謝! – 2014-12-04 13:41:42

相關問題