我的WPF应用程序中有一个Calendar控件。我想根据用户将鼠标悬停在哪个日期显示一条消息。
我认为Calendar控件为每个日期使用一个按钮,并且该按钮的DataContext设置为DateTime对象。
但是如何使用日历的MouseMove事件查看鼠标当前停留在哪个日期?
答案 0 :(得分:2)
您可以使用Mouse.DirectlyOver
将元素直接放在鼠标下,然后通过以下方式查找日期:
calendar.MouseMove += (s, e) =>
{
if (Mouse.DirectlyOver is FrameworkElement el &&
el.TemplatedParent is CalendarDayButton button &&
el.DataContext is DateTime date)
{
// do stuff with `date`...
}
};