为什么WPF边框控件没有mousedoubleclick事件?我有一个ItemsControl与一些DataTemplate中的布局东西。我想处理双击事件以弹出详细信息对话框,但是我的布局容器边框看起来并不显示该事件。为什么WPF边框控件没有mousedoubleclick事件?
有关如何获得双击事件或重做xaml使其成为可能的任何建议?
为什么WPF边框控件没有mousedoubleclick事件?我有一个ItemsControl与一些DataTemplate中的布局东西。我想处理双击事件以弹出详细信息对话框,但是我的布局容器边框看起来并不显示该事件。为什么WPF边框控件没有mousedoubleclick事件?
有关如何获得双击事件或重做xaml使其成为可能的任何建议?
更新:对不起,是我不好 - 时至今日
内,您的鼠标按钮按下事件得到ClickCount的
// e.Handled = true; optional
if (e.ClickCount > 1)
{
// here comes double click and more :)
}
MouseDoubleClick是在控制宣告,所以你只是在你的ItemTemplate需要一些控制的一个实例。最简单的做法是使用基本的Control类,它没有任何其他行为,只需给它一个自定义模板,就可以使用您的ItemTemplate中的内容。
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Control MouseDoubleClick="Control_MouseDoubleClick">
<Control.Template>
<ControlTemplate>
<Border>
<!--Other ItemTemplate stuff-->
</Border>
</ControlTemplate>
</Control.Template>
</Control>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
非常好 - 为我工作就像一个魅力! – cordialgerm 2012-05-23 22:57:22
您也可以使用“ContentControl”并指定内容而不是模板。 – 2016-12-29 19:42:44
只要使用InputBindings。
<Border>
<Border.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick" Command="..."/>
</Border.InputBindings>
</Border>
一般而言;如果不在WPF中开发控件,请避免使用事件。通常,基于事件的代码的使用是MVVM模式中断的强烈指示。
Stackpanel没有双击事件。你在暗示我用它做什么? – 2010-08-05 01:29:28
sry我更新了帖子 – 2010-08-05 01:53:35