在XAML中找不到DoubleClick

Jak*_*ner 15 xaml double-click

我在XAML中有一个ListView控件.这些项由模板控件定义,其中GridB中包含TextBlock.现在我想在双击TextBlock时触发一个动作.令我惊讶的是,我发现没有DoubleClick事件要挂钩......!我认为只是TextBlock没有它,但实际上没有控件拥有它.我寻找DoubleClick和MouseDoubleClick,但它们肯定不存在.

我已经阅读了使用Gesture ="MouseDoubleClick"将EventTrigger添加到控件的建议.它看起来很有希望,但在我的情况下,编译器抱怨并告诉我没有像MouseDoubleClick这样的手势.与DoubleClick相同.

DoubleClick是否在某个版本的.Net中消失了?我有.Net Framework 4.5,项目是WPF应用程序.

通过检测MouseDown并检查自上次MouseDown以来经过的时间,我是否必须做愚蠢的变通办法?听起来像石头......

Jak*_*ner 18

制定问题总是令人耳目一新!经过一段时间的思考,我想也许他们为鼠标事件添加了一个计数器而不是单独的事件.那似乎是这样的!MouseButtonEventArgs具有ClickCount属性.检查值2时,我检测到了DoubleClick!

刚开始使用DoubleClick仍然有点奇怪.即使在搜索之后,我也没有找到关于它何时以及为何消失的参考.


X3N*_*N10 15

只是为了显示解决方案Jakob意味着:

private void img_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed && e.ClickCount == 2)
            {
                //DO SOMETHING
            }
        }
Run Code Online (Sandbox Code Playgroud)


小智 6

使用内容ContentControl,卢克!

<ContentControl MouseDoubleClick="OnDoubleClick"> 
    <TextBlock Text="Hello" FontSize="15" /> 
</ContentControl>
Run Code Online (Sandbox Code Playgroud)