双击 WPF 形状事件

Double click on WPF shape event

我试图在我的 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);
        }
    }

我已经通过使用 ContentControl 获得了我想要的内容:

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

MouseDown 应该可以正常工作,如果不是,则视觉对象中某处的父项正在阻止他的冒泡事件再次隧道回传。这也解释了为什么将形状包裹在 ContentControl "fixes" 中。

下次使用 PreviewMouseDown。这就是冒泡事件,所以你有机会在它被拦截之前抓住它。