2

モデルにバインドされた Silverlight データフォームがあります。テキストボックスの値を編集する場合を除いて、すべてが正常に機能し、タブアウトしたり、別のコントロールをクリックしたりしてからキャンセルボタンを押すことはありません。

キャンセル イベントが適切にトリガーされ、フォーカスを保持しているテキスト ボックスにバインドされているものを除いて、すべてのプロパティが元に戻されます。そのテキストボックスの値がモデルに渡されます。

元の値が 100 のテキスト ボックスがあるとします。それを 101 に変更し、カーソルをテキスト ボックス内に置いたままにして、[キャンセル] をクリックします。[キャンセル] をクリックする前に別のテキスト ボックスにタブ移動したときと同じように、値が 100 に戻ることを期待しますが、101 のままです。

Cancel イベントで現在のテキスト ボックスの値をデータフォームに強制的にリセットさせるにはどうすればよいですか?

4

1 に答える 1

0

モデルに実装しますMSDN にIEditableObjectがあります。要約すると、 Cancel がクリックされたときに DataForm を介して呼び出される handling です。次に、モデルのデータをその時点で必要なものに戻すだけです。IEditableObject.CancelEdit()

于 2010-11-18T15:30:59.917 に答える