0

多数のユーザー コントロールを含む wpf wpplication があります。これらのコントロールの 1 つに、 というプロパティがありますButtonsEnabled。これは、ユーザー コントロールの bool DependencyProperty です。このプロパティは、そのコントロールのいくつかのボタンの IsEnabled プロパティにバインドされています。

このユーザー コントロールは で使用されますMainWindow。には、およびMainWindowと呼ばれる 2 つのビュー モデル オブジェクトがあります。これらは両方とも、 を実装する抽象基本クラスから派生します。UserControlのプロパティは、マルチバインディングと私が作成した実装クラスを使用してプロパティにバインドされます。EocMonitorComMonitorINotifyPropertyChangedButtonsEnabledStatusIMultiConverter

問題は、プロパティが変更されたときに PropertyChanged イベントが発生していてもStatus、IMultiConverter が最初に呼び出された後に呼び出されていないため、ButtonsEnabledプロパティの値が変化していないことです。その結果、ボタンが有効になりません。

これを機能させるにはどうすればよいですか?

4

1 に答える 1

0

このリリースのコード フリーズに到達する前に時間がなくなったため、この問題の回避策を実行しました。私がしたことはButtonsEnabled DepdendencyProperty、クラスに a を追加し、それをユーザー コントロールのプロパティMainWindowにバインドすることでした。ButtonsEnabled次にPropertyChanged、MainWindow にイベント ハンドラーを追加し、作成時にDbMonitorおよびComMonitorオブジェクトに登録しました。次に、PropertyChangedイベント ハンドラにコードを記述して、 を適切に設定しましMainWindowButtonsEnabled

すべてが機能し、後で他のアプローチを機能させることを心配します. 多分。

于 2012-05-08T16:04:52.190 に答える