我使用Calendar控件的双击事件来选择日期并处理我的逻辑。 问题是,即使更改月份,它也会获得双击。有一种方法可以将事件限制在天区域吗?
在上图中,我需要双击在黄色区域中工作,但它也适用于红色区域。
XAML:
<Calendar Name="CalendarControl" MouseDoubleClick="CalendarControl_OnMouseDoubleClick"/>
C#
Date = CalendarControl.SelectedDate;
//process my logic here...
实际上我这样解决了这个问题:
private void CalendarControl_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var p = e.GetPosition(CalendarControl);
if ((p.X >= 14) && (p.X < 165) && (p.Y >= 52) && (p.Y < 150))
{
Date = CalendarControl.SelectedDate;
//process my logic here...
}
}
但我正在寻找更好的解决方案。
答案 0 :(得分:0)
答案 1 :(得分:0)
我有同样的问题,
我检测到日历上的双击事件以使用户更容易选择日期,问题是,如果用户非常快速地更改月份,即使用户没有更改日期,也可以启动双击事件选择了正确的日期。
问题在于,如果没有有关双击日历的哪一部分的信息,那么在更改月份或特定日期时,是否已经完成该日历是未知的。 Beetlejuice所描述的替代方法并不优雅,但可以使用。
有人认为有更好的解决方案吗?