有効な値(文字列ではなくオブジェクト)のリストを使用するオートコンプリートボックスを作成しています。オブジェクトは直接バインドされ、ボックス(テキストボックスとドロップダウンパーツの両方)はDisplayMemberPathを使用して、テキストとして表示する内容を決定します。
ユーザーがテキストを入力できるようにしたい-テキストが有効な値の1つと一致しない場合は、ボックスに残して視覚的に無効のフラグを付けたい。
ここで、ビューモデルにバインドするとき、明らかにこの無効な値に何かを設定する必要があります。値をDependencyProperty.UnsetValueに設定してみました。これはnullとしてVMに返されます。
後でフォームを「クリア」したい場合は、VMプロパティをnullに設定しますが、値が変更されていないため、もちろんこれはコントロールにフィルターされません。
プロパティシステムは、新しい値がnullであり、古い値がUnsetValueであることに気づき、イベントを発生させることを期待していました。
明らかな何かを見逃したことがありますか?
ありがとう