ここには非常に単純なシナリオがあります。レイアウトを見てください:
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBox Grid.Row="0"></TextBox>
<DatePicker Grid.Row="1"
Name="_datePicker"
LostFocus="_datePicker_OnLostFocus"></DatePicker>
</Grid>
および分離コード:
private void _datePicker_OnLostFocus(object sender, RoutedEventArgs e)
{
Debug.WriteLine("LostFocuse");
}
そのため、問題は、日付を選択してクリックするTextBox
と、イベントLostFocus
が 7 ( 7! ) 回発生することです。1 つは、DatePicker
調子に乗って本当に集中力を失ったときでTextBox
、残りの 6 回は完全に説明できません。
どうすれば修正できますか?このイベントを1 回だけ起動する必要があります。それとも、他のイベントを使用できますか?LostKeyBoardFocus
私は同じ結果で 試しました。