我正在使用屬於WPF Toolkit的WPF日曆。WPF工具包日曆需要兩次點擊才能獲得焦點
我在控件上有兩個不同的日曆。當我嘗試從一個日曆中選擇一個日期,然後從第二個日曆中選擇一個日期時,我必須點擊第二個日曆兩次才能選擇一個日期。
有沒有其他人有這個問題,並知道一個解決方案?
我正在使用屬於WPF Toolkit的WPF日曆。WPF工具包日曆需要兩次點擊才能獲得焦點
我在控件上有兩個不同的日曆。當我嘗試從一個日曆中選擇一個日期,然後從第二個日曆中選擇一個日期時,我必須點擊第二個日曆兩次才能選擇一個日期。
有沒有其他人有這個問題,並知道一個解決方案?
日曆可以在沒有日期變化的情況下捕獲鼠標(例如,在CalendarMode下鑽中)。 更好的解決辦法是這樣的:
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseUp(e);
if (Mouse.Captured is CalendarItem)
{
Mouse.Capture(null);
}
}
這是一個更好的解決方案。我喜歡它...... – timothymcgrath 2011-02-21 14:59:01
這爲我解決了一個問題,當其他控件收到鼠標向上事件時,所選日期範圍丟失。 – mjcopple 2011-12-14 18:32:21
我推薦這段代碼的擴展版本http://stackoverflow.com/questions/5543119/wpf-button-takes-two-clicks-to-fire-click-event – 2015-01-19 17:24:37
我在更改日曆的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
Me.DisplayDate行只是將視圖移動到SelectedDate,這不是修補程序所需要的。 – timothymcgrath 2010-03-22 12:54:08
這個工作對我來說,謝謝你的解決方案。 (C#) – Jirapong 2010-09-08 06:13:13
謝謝!這解決了使用.NET Framework 4.0日曆控件時遇到的問題。看來這個bug一直持續到當前最終版本的.NET 4.0 – Luke 2011-05-30 09:44:16
嗯,我從來沒有注意到日曆行爲太古怪,但我沒有用太多,可能不是在相同的情況下,你。也就是說,WPF Toolkit控件並不完美,所以這個問題是完全可信的。 – 2010-03-11 15:05:04
僅供參考,我也遇到過.NET Framework 4.0中WPF日曆的問題 – Luke 2011-05-30 09:41:36