ビューモデルのTimeSpanプロパティに 'twoway'というコンボボックスがバインドされていて、timespanビューのモデルプロパティを文字列に変更して分を 'm'コンボボックスの値を例えば10mから5に編集すると、私は期待しています:テキストプロパティをバインドするときの奇妙なコンボボックスの動作
WPFバインディングは、ConvertBackを呼び出してソースプロパティを更新する値を取得します。
ビューモデルのタイムスパンプロパティセッターが呼び出され、基本フィールドを設定する(10 5までのタイムスパンからの変化)、その後OnPropertyChangedを
結合WPFがイベントを受信し、したがって、最初の変換を行い、そのハンドラメソッドを呼び出しを発生させていますその値を「5m」変換した値をターゲットのテキストプロパティに設定します
最後のステップは発生せず、comboxboxは5のままです。実際にこの動作が必要ですが、理由を理解したいと思います最後のステップは起こりません。スヌープ・ユーティリティを使用して、私は次を参照してください。私はコンボボックス
UPDATEを書かれている必要があり、元の質問誤って述べたテキストボックス:奇妙なことは、テキストボックスに変化していることは、私は(すぐに5メートルに5を更新)
EDIT期待する行動を与えませんコンボボックスのテキストプロパティは5mになりますが、表示は5のままです - 私はコンボボックスが編集中であれば、テキスト表示をリフレッシュしません。 "WPFデータバインディングターゲット - 変換元を使用したソース - ターゲットサイクル"からの質問のタイトルを、現在の内容をより正確に反映するように変更しました。
おかげで - 私は思った「無限ループが」プロパティの値が変更された場合、ターゲットまたはソースを更新する前に、確認するためにチェックすることによって回避されます。これは2つのバインディングで、私の質問は本当にターゲットを更新しないconvertメソッドについてです。 – sturdytree