我正在使用作为WPF工具包一部分的WPF日历。
我在控件上有两个不同的日历。当我尝试从一个日历然后从第二个日历中选择日期时,我必须再次点击第二个日历以使其选择日期。
是否还有其他人遇到此问题且知道解决方案?
答案 0 :(得分:35)
日历可以捕获鼠标而不更改日期(例如,在CalendarMode向下钻取)。 更好的解决方案是:
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseUp(e);
if (Mouse.Captured is CalendarItem)
{
Mouse.Capture(null);
}
}
答案 1 :(得分:4)
我在更改日历的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