Как происходит событие мыши WPF? - PullRequest
0 голосов
/ 06 января 2012

Я новичок в WPF.В примере кода WPF, который я рассматриваю, есть обработчик события мыши следующим образом:

namespace Recipe_04_15
{
    public class DragCanvasControl : Canvas
    {
        ...
        static DragCanvasControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(DragCanvasControl),
                new FrameworkPropertyMetadata(typeof(DragCanvasControl)));
        }
        protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            ...
        }
...

Я не понимаю, как метод OnPreviewMouseLeftButtonDown связан с событием нажатия кнопки мыши.В коде XAML не указаны события?

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Функция уже подключена в классе UIElement.http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewmouseleftbuttondown.aspx

Поскольку вы наследуете от холста, вы также наследуете от UIElement где-то глубже. DragCanvasControl => Canvas => Panel => FrameworkElement => UIElement

Перекрывая OnPreviewMouseLeftButtonDown из UIElement, вы получаете доступ к этому событию.

0 голосов
/ 06 января 2012

Если его нет в XAML, он должен быть присоединен в коде позади. Если это не так, метод не будет выполнен.

Имейте в виду, что вы на самом деле ищете событие PreviewMouseLeftButtonDown, а не несколько Click или MouseDown.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...