Подтвердить что ты не робот

Календарь WPF Toolkit использует два клика для получения фокуса

Я использую календарь WPF, который является частью набора инструментов WPF.

У меня есть два разных календаря. Когда я пытаюсь выбрать дату из одного календаря, а затем из второго календаря, я должен дважды щелкнуть по второму календарю, чтобы выбрать дату.

У кого-нибудь еще была эта проблема и было известно о решении?

4b9b3361

Ответ 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