0

WPFアプリケーションがあります。私はMVVMを使用しています。WPFCreatePersonビューにバインドされているPersonモデルがあります。CreatePersonビューには、TextプロパティをPerson.FirstNameにバインドしたテキストボックスがあります。これで、デフォルトのフォーカスはFirstNameテキストボックスになります。何もせずにタブキーを押すと検証は起動しませんが、何かを書くと正しく起動します。

すべての検証が適切に設定されています。

タブキーを押すと、検証が実行されます。

さらにクリアランスが必要な場合はお知らせください。

4

1 に答える 1

1

バインディングソースを更新しようとすると、検証が呼び出されます。イベントGotFocusが発生したときに検証を実行する場合は、プログラムでバインディングを更新する必要があります。つまり、GotFocusのイベントハンドラーでバインディングを強制できます。

private void textBox1_GotFocus(object sender, RoutedEventArgs e)
{
      BindingExpression binding = BindingOperations.GetBindingExpression(textBox1, TextBox.TextProperty);
 binding.UpdateSource(); 
}
于 2012-10-18T13:40:40.160 に答える