Как определить дату окончания мыши в элементе управления WPF Calendar? - PullRequest
2 голосов
/ 22 мая 2019

У меня есть элемент управления Calendar в моем приложении WPF.Я хочу отобразить сообщение в зависимости от даты, на которую пользователь наводит указатель мыши.

Я думаю, что элемент управления Calendar использует кнопку для каждой даты, и для этой кнопки свой DataContext установлен в объект DateTime.

Но как я могу использовать событие MouseMove в календаре, чтобы увидеть, на какой дате находится мышь в данный момент?

1 Ответ

2 голосов
/ 22 мая 2019

Вы можете использовать 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`...
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...