wpfgrid にテキストボックスがあり、tekst の挿入などを実行する必要があります。これを行うために、テキスト ボックスはビューからプレゼンテーション モデルに参照されますReferenceToTextBox
(Prism で MVP を実行します)。また、ビュー内のテキスト ボックスは、モデルの -property にTextDescription
バインドされています。Description
いくつかの事前定義されたテキスト BLOB (住所、VAT 番号など) を含むドロップダウン リストもあります。これらのいずれかを選択すると、テキストボックスのキャレットの現在の位置に挿入されます。CaretIndex にバインドできないため、上記の回避策が作成されます。ドロップダウン リストは SelectedItem でモデルのプロパティにバインドされているため、SelectedItem が変更されるとプロパティが変更され、プロパティのセッターでメソッドが呼び出されて、選択されたアイテムのテキストがReferenceToTextBox
「仮想」に挿入されます。モデル内のテキスト ボックス (ビュー内のテキスト ボックスへの単なる参照である必要があります)。
ただし、ビューのテキスト ボックスからすべてのテキストを削除し、新しい定義済みのテキスト ブロブを追加するとします。プロパティには、ReferenceToTextBox.Text
削除したすべてのテキストがまだ含まれています。ReferenceToTextBox
はもはや単なる参照ではなく、独自のテキストボックス全体のようです。ReferenceToTextBox.Text
ビューの「ビジュアル」テキストボックスを実際に更新すると、さらに奇妙になります。
ここで実際に何が起こっているのですか?