我在我的窗口中放置了一个自定义UserControl,并在我的usesr-control中设置了MouseDoubleClick事件以更改它的一些属性。
但是,使用断点,我意识到MouseDoubleClick事件永远不会被触发。对于我在用户控件中设置的任何事件都是如此。
我错过了什么?
btw:我还创建了一些DependencyProperty,“书中的”,如果有帮助的话,效果很好......
答案 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
,整个窗口应为红色。双击窗口,您将看到一个消息框:
一旦这一切正常,您可以继续使用双击事件所需的任何其他目标。
答案 1 :(得分:0)
为您User Control
设置背景。它可能是Transparent
或White
。