双击WPF形状事件

时间:2019-02-14 23:41:46

标签: c# wpf events shapes

在双击WPF表单上的Ellipse之后,我试图捕获一个事件。我不确定这样做的最佳实践是什么,因为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 :(得分:2)

我已经通过使用ContentControl获得了想要的东西:

<ContentControl MouseDoubleClick="Ellipse_DoubleClick">
    <Ellipse Name="SetupProjectsCOEllipse" Width="10" Height="10"/>
</ContentControl>

答案 1 :(得分:0)

MouseDown应该可以正常工作,如果不是这样,那么视觉中某处的父项会阻止他的冒泡事件再次向下传播。这也解释了为什么将形状包裹在ContentControl中以“固定”它。

下次使用PreviewMouseDown代替。那是冒泡事件,所以您有机会在被拦截之前抓住它。