単純な問題です。たとえば、この TextBox があるとします (実際のところ、これはあります)。
<TextBox.Text>
<Binding Path="MySourceProperty"
Mode="OneWayToSource"
UpdateSourceTrigger="PropertyChanged" />
</TextBox.Text>
Text プロパティが変更されるたびに、MySourceProperty が正常に更新されます。それに加えて、TextBox がフォーカスされたときにも MySourceProperty が更新されるようにする必要があります。
1 つのコントロールに対して 2 つの UpdateSourceTriggers を持つ方法はありますか?
詳細については、MySourceProperty にバインドされたラベルを含む親ビューと、TextBox と ComboBox を含む別のビューがあります。
したがって、次のいずれかのイベントが発生したときに MySourceProperty を更新する必要があります。
- TextBox.Text の変更
- ComboBox.SelectedItem の変更
- TextBox にフォーカスする
- ComboBox にフォーカスする
最後の 2 つのイベントは明らかにここにあります。コントロールにフォーカスを与えても、その Text または SelectedItem プロパティは変更されず、MySourceProperty も更新されないためです。
編集:私が欲しいものを明確にするために、質問を太字にしました。コード ビハインドでイベント ハンドラーを使用することで問題を解決できましたが、WinForms の習慣をなくそうとしているところです。しかし、それが唯一の解決策である場合は、遠慮なく答えてください。