私は、多数のユーザーコントロールを含むwpfパッケージを持っています。これらのコントロールの1つにButtonsEnabled
というプロパティがあります。これは、ユーザーコントロールのbool DependencyPropertyです。このプロパティは、そのコントロールの2つのボタンのIsEnabledプロパティにバインドされています。バインドされたプロパティが変更されたときにマルチバインディングが起動しない
このユーザーコントロールはMainWindow
で使用されています。 MainWindow
には、EocMonitor
とComMonitor
という2つのビューモデルオブジェクトがあります。これらは両方とも、INotifyPropertyChanged
を実装する抽象基本クラスに由来します。 UserControlのButtonsEnabled
プロパティは、Status
プロパティにバインドされています。これは、マルチバインディングと、私が書いたIMultiConverter
を実装するクラスを使用しています。
Status
プロパティが変更されたときにPropertyChangedイベントが発生しても、IMultiConverterは最初に呼び出された後に呼び出されないため、ButtonsEnabled
プロパティの値は変更されません。その結果、ボタンは有効になりません。
これを行うには何が必要ですか?
ソースコードを追加すれば、何が必要なのかが簡単に分かります。 – stukselbax
おそらく 'UpdateSourceTrigger'を' PropertyChanged'に設定する必要があります。あなたがソースコードを投稿していないので、私は確信することはできません! – Dennis
'UpdateSourceTrigger'は' PropertyChanged'に設定されました。 –