XmlDataProvider にバインドされたTreeView があります。ノードの名前はツリーに反映され、ノードのデータは TextBox にあります。ツリー項目をクリックすると、TextBox にデータが読み込まれます。
ユーザーが XmlDataProvider によって参照されるソース データをいつ変更したかを判断する最善の方法は何ですか。
ファイル名の横にアスタリスク (*) を付けて、ドキュメントが汚れているため保存する必要があることを示したいと思います。これにより、ユーザーがプログラムを終了するときに保存するように通知するかどうかも決定されます。
残念ながら、TextBox が双方向バインディングによって更新されると、TextChanged イベントが発生します。
TextChanged イベントが、ユーザーではなく双方向バインディング コードによって発生したことを確認する方法はありますか?
また、XmlDataProvider で DataChanged イベントを使用しようとしましたが、このイベントはデータを最初にロードするときにのみ発生するように見えます。
キーの押下を TextBox に直接トラップできると思いますが、面倒です。
[編集] PreviewTextInput はこの目的のために機能しているようです...もっと良い方法はありますか?