0

Wpf-App(MVVM)にコンテンツコントロールがあり、オブジェクトにバインドされ、オブジェクトのプロパティがテキストボックスに表示されるため、ユーザーはプロパティの値を編集できます。GoFのコマンドパターンで元に戻す/やり直し機能を実装したい。このためには、コマンドを作成してUNDOManagerに設定できるポイントが必要です。私のアイデアは、送信ボタンを追加することでした。ボタンが押されたら、テキストボックスのソース(プロパティ)を更新し、コマンドオブジェクトを作成して、変更を元に戻せるようにします(オブジェクトの古い状態と新しい状態を保存します)。ただし、-送信ボタンを使用するには、テキストボックスのUpdateSourceTriggerをExplicitに設定する必要があります。ソースを更新したい場合は、ビュー内のコントロールを参照する必要がありますが、これは私が学んだ限りでは悪いことです。どうやってやるの?MVVMを使用して、コマンド(WPFコマンド、

ありがとうウォルター

4

1 に答える 1

0

あなたのコントロールはクラスTextBoxのプロパティにバインドされていると思います。ViewModel送信ボタンを にバインドすると、ViewModel Command適切なコマンドが追加され、Command Pattern Collection一部のViewModelプロパティも変更され、Textboxコントロールの値も更新されます。ここで、Textboxバインドされているプロパティの値が変更されたときにその値を更新するには、ViewModelクラスはINotifyPropertyChangedインターフェイスを実装PropertyChangedし、そのプロパティの名前を引数としてプロパティ セッターからイベントを発生させる必要があります。

于 2010-06-19T09:17:46.317 に答える