Двойной щелчок по событию формы WPF - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь зафиксировать событие после двойного щелчка по эллипсу в моей форме WPF.Я не уверен, что лучше всего это делать, поскольку WPF System.Windows.Shapes не содержит событие двойного щелчка.

Я попытался перехватить обычную кнопку мыши с количеством щелчков 2.

    private void SetupProjectsCOEllipse_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        //If double clicked
        if (e.ClickCount == 2)
        {
            PopupEntityDetails(this, ProjectsContext, LocalUser, TreeSetup.SelectedItem);
        }
    }

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

MouseDown должно работать нормально, если это не так, родительский объект где-то в визуале предотвращает повторное туннелирование события пузыря.Это также объясняет, почему обертывание фигуры в ContentControl «исправляет» ее.

В следующий раз используйте вместо нее PreviewMouseDown.Это пузырьковое событие, поэтому у вас будет шанс его поймать до того, как оно будет перехвачено.

0 голосов
/ 15 февраля 2019

Мне удалось получить то, что я хочу, с помощью ContentControl:

<ContentControl MouseDoubleClick="Ellipse_DoubleClick">
    <Ellipse Name="SetupProjectsCOEllipse" Width="10" Height="10"/>
</ContentControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...