WPF でデータバインディングを使用する場合、Mode
プロパティをTwoWay
に設定すると、プロパティを設定することでソース プロパティが更新されるタイミングを制御できUpdateSourceTrigger
ます。そのシナリオは、ターゲット -> ソース更新ストリームで可能です。しかし、ソース -> ターゲット更新ストリームに対して同じことをどのように制御できますか? 同等のプロパティが見つかりません。
たとえば、ウィンドウに 2 つのテキスト ボックスがあり、両方のテキスト ボックスの Text プロパティをバインドしたいとします。XAML は次のようになります。
<TextBox
Name="txt1"
Text="{Binding ElementName=txt2, Path=Text, Mode=TwoWay,
UpdateSourceTrigger=LostFocus}"
/>
<TextBox
Name="txt2"
/>
ユーザーがtxt1
TextBoxにテキストを入力すると、TextChanged イベントを に実装した場合と同様に、Textbox のプロパティがプロパティText
の変更txt2
として更新されます。Text
txt1
ただし、LostFocus イベントを実装した場合、ユーザーがtxt2
TextBox にテキストを入力すると、プロパティが に設定されているため、TextBox がフォーカスを失った後Text
に Textbox のプロパティtxt1
が更新されます。txt2
UpdateSourceTrigger
LostFocus
ソースプロパティコントロールがフォーカスを失った後にターゲットプロパティを更新するWPFデータバインディングの可能性はありますか? この例では、上記の XAML コードに対して何を行う必要があるので、TextBoxText
のプロパティはtxt2
TextBox がフォーカスを失った後にのみ更新されtxt1
、Text プロパティが変更された後では更新されませんか?
ありがとう!