我的UserControl中的事件不会启动 - 为什么?

时间:2011-05-20 23:12:06

标签: c# wpf user-controls

我在我的窗口中放置了一个自定义UserControl,并在我的usesr-control中设置了MouseDoubleClick事件以更改它的一些属性。

但是,使用断点,我意识到MouseDoubleClick事件永远不会被触发。对于我在用户控件中设置的任何事件都是如此。

我错过了什么?

btw:我还创建了一些DependencyProperty,“书中的”,如果有帮助的话,效果很好......

2 个答案:

答案 0 :(得分:1)

以下是MouseDoubleClick中处理UserControl的方法。

创建一个名为UserControl1的新用户控件。这是UserControl.xaml的正文:

<Grid Background="Red">
    <!-- leave this blank at first -->
</Grid>

我们已将背景设置为红色,以便我们可以看到我们正在使用用户控件。此外,它需要一个背景才能接收点击事件。

UserControl1.xaml.cs中的用户控件的代码隐藏中添加双击方法覆盖:

protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
{
    base.OnMouseDoubleClick(e);
    MessageBox.Show("Double-Click!");
}

现在创建一个窗口并将用户控件添加到其中,例如Window1.xaml

<Grid>
    <local:UserControl1/>
</Grid>

运行程序以显示Window1,整个窗口应为红色。双击窗口,您将看到一个消息框:

enter image description here

一旦这一切正常,您可以继续使用双击事件所需的任何其他目标。

答案 1 :(得分:0)

为您User Control设置背景。它可能是TransparentWhite