0

MVVM を使用して WPF アプリケーションに取り組んでいますが、MVVM ライトなどの MVVM フレームワークを使用していません。少なくとも 8 ~ 9 個のコントロールをホストするユーザー コントロールを作成しました。これはメイン ウィンドウの ItemControl に表示されます。メイン ウィンドウには、保存ボタンと閉じるボタンがあります。カスタム DataValidation を実装しました。いずれかのコントロールにデータ検証がある場合、[保存] ボタンが無効になります。これは、他のすべてのコントロールでは期待どおりに機能しますが、ItemControl では機能しません。ユーザー コントロールにはデータ検証があり、検証エラーが表示されますが、保存ボタンを無効にできません。どんな助けでも本当に感謝します。追加の詳細が必要な場合はお知らせください。

4

1 に答える 1

0

ボタンを有効または無効にするには、MVVMコマンドの使用を検討する必要があります。

CanExecute()デリゲート機能を使用して、コマンドをボタン([保存]など)にバインドできます。これにより、(ユーザーコントロールの有効性プロパティを使用して)CanExecute()上のユーザーコントロールのいずれかItemsControlが無効であるかどうかを確認し、falseを返すことができます。

CanExecute()UIのレンダリングのほぼすべての機会で起動されるため、一種の観察可能です。

于 2012-01-18T05:30:05.087 に答える