2011-12-20 8 views
0

MultiBindingのとMultiTrigger

...だから、私は2つの要素を持っているが、私は(checboxのにisCheckedプロパティは私の私のクラスのオブジェクトである私の 「IsAlwaysOn」プロパティにバインドされることを望みます双方向)、要素comboxの値のプロパティを選択します。値が 'enter'の場合、IsCheckedはfalseです。 アイデアはありますか?

+0

ポストあなた現在のXAML – Paparazzi

答えて

0

あなたはDataTriggerでこれを行うことができますチェックボックスの値は、常にその代わりMyClass.IsAlwaysOn

<Style x:Key="MyCheckBoxStyle" TargetType="{x:Type CheckBox}"> 
    <Setter Property="IsChecked" Value="{Binding IsAlwaysOn}" /> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding ElementName=MyComboBox, Path=SelectedValue}" Value="Enter"> 
      <Setter Property="IsChecked" Value="False" /> 
      <Setter Property="IsEnabled" Value="False" /> 
     </DataTrigger> 
</Style> 

に保存されませんでしたので、しかし、私はそれをお勧めしません、私はPropertyChange通知でこれを取り扱う推薦しますMyClassにあります。変更を防止するために、私は、チェックボックスは、上記のようなトリガーのチェックボックスを変更したりしない、または無効化することができるかどうかを決定MyClassでプロパティを含むであろういずれか。

void MyClass_PropertyChanged(object sender, PropertyChangedEventArgs e) 
{ 
    if (e.PropertyName == "SelectedComboBoxItem") 
    { 
     if (SelectedComboBoxItem == "Enter") 
     { 
      IsAlwaysOn = false; 
      CanChangeCheckBox = false; 
     } 
     else 
     { 
      CanChangeCheckBox = true; 
     } 
    } 
} 
関連する問題