nav*_*een 9 wpf controls calendar focus
我有一个TabItem,其中包含一个日历控件和一个按钮.问题是,当日历的选定日期与先前选择的日期相同时,该按钮需要两次单击才能触发其Click事件.
我已经实现了日历的selectedDatesChanged事件,以便在当前所选日期与上一个选择不同时解决此问题.代码如下:
selectedDatesChanged(object sender, SelectionChangedEventArgs e)
{
this.CaptureMouse();
this.ReleaseMouseCapture();
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是当日历的selectedDate与先前选择的日期没有不同时,在上述函数中显示相同效果的方法.我尝试处理GotFocus和MouseUp事件,但它没有解决问题.
有没有人对如何解决这个问题有任何想法?
谢谢,Naveen
Mik*_*lls 14
这是我在网上找到的最佳答案.它仍然不完美,因为它对标记为IsDefault或IsCancel的按钮没有帮助
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseUp(e);
if (Mouse.Captured is Calendar || Mouse.Captured is System.Windows.Controls.Primitives.CalendarItem)
{
Mouse.Capture(null);
}
}
Run Code Online (Sandbox Code Playgroud)