私はWPFアプリケーションを開発しています。私は3つのコンボボックスを持っています。各コンボボックスにはソースとしてのリストがあり、各コンボボックスに1,2,3の3つの項目があります。 私もボタンがあります。ユーザーが少なくとも2つのコンボボックスで同じ値を選択した場合は、このボタンを無効にします。すなわち、 ユーザーが最初のCBで1を選択し、2番目のCBで1を選択した場合は、ボタンを無効にします。私はボタンの中で以下のコードを使ってこれを達成しようとしました。 しかし、とにかく動作しません。3つのコンボボックスの選択された項目値を使用してボタンを有効にした状態を制御する
<Button>
....
<Style>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=CB1, Path=SelectedItem}" Value="1" />
<Condition Binding="{Binding ElementName=CB2, Path=SelectedItem}" Value="1" />
<Condition Binding="{Binding ElementName=CB3, Path=SelectedItem}" Value="1" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button>
XAML
自体でも同じことを行うとよいでしょうか?
MVVMを使用していますか?その場合、RelayCommand [このような](http://www.mvvmlight.net/help/SL5/html/e5294f54-f460-8227-b228-ac63034b1294.htm)をボタンのコマンドにバインドすることができます。コマンドは、あなたのViewModelの状態に基づいて、ボタンをアクティブにする必要があるかどうかを判断することができます。 – 3615
はいMVVMパターンに従っています。私はすでに 'RelayCommand'を使ってそのようなボタン状態を制御しています。私はXAML自体でそれを制御するいくつかのテクニックを探しています。 – ViVi