Я работаю над приложением. Используемые технологии C# и WPF. В приложении имеется кнопка (Button). Читая лог, становится понятно, что при нажатии этой кнпки иногда MouseUp происходит прежде MouseDown. Почему так происходит и как можно исправить ситуацию?
Если коротко, то попробуйте использовать Preview... события:
private void Button_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("down");
}
private void Button_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("up");
}
Ну а если интересно разобраться подробнее:
For instance, a Windows Presentation Foundation (WPF) Button suppresses MouseLeftButtonDown and MouseLeftButtonDown bubbling events raised by the Button or its composite elements in favor of capturing the mouse and raising a Click event that is always raised by the Button itself. The event and its data still continue along the route, but because the Button marks the event data as Handled, only handlers for the event that specifically indicated they should act in the handledEventsToo case are invoked.
Кстати, если кликнуть правой кнопкой мыши, всё будет работать.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости