Календарь WPF Toolkit использует два клика для получения фокуса
Я использую календарь WPF, который является частью набора инструментов WPF.
У меня есть два разных календаря. Когда я пытаюсь выбрать дату из одного календаря, а затем из второго календаря, я должен дважды щелкнуть по второму календарю, чтобы выбрать дату.
У кого-нибудь еще была эта проблема и было известно о решении?
Ответы
Ответ 1
Календарь может захватывать мышь без изменения даты (например, в режиме CalendarMode).
Лучшее решение:
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseUp(e);
if (Mouse.Captured is CalendarItem)
{
Mouse.Capture(null);
}
}
Ответ 2
Я добавил этот код при изменении SelectedDates в календаре, и он исправил проблему.
Private Sub Calendar_SelectedDatesChanged(ByVal sender As Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles Me.SelectedDatesChanged
Me.DisplayDate = CType(Me.SelectedDate, DateTime)
' This is to prevent the Calendar DayButtons from holding the focus in the Calendar.
Me.CaptureMouse()
Me.ReleaseMouseCapture()
End Sub