设置IsManipulationEnabled时,WPF控件不捕获按住事件(右键单击)

时间:2010-06-21 14:18:47

标签: wpf events touchscreen right-click

我开始用触摸屏进行一些测试,我发现如果UIControl将“IsManipulationEnabled”属性设置为true,则不会捕获按住手势(WIN7)触发的MouseRightClick事件。我做错了吗?

public MainWindow()
    {
        InitializeComponent();
        WC_Rectangle.IsManipulationEnabled = true;
        WC_Rectangle.MouseRightButtonUp += new MouseButtonEventHandler(WC_Rectangle_MouseRightButtonUp);
    }

    void WC_Rectangle_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("RIGHT CLICK : " + sender.ToString());
    }

3 个答案:

答案 0 :(得分:2)

设置IsManipulationEnabled = true;后,WC_Rectangle捕获并处理所有touchevents,并将其转换为Manipulation事件。因此,touchevents不会隧道回到引发它们的控件,这反过来意味着控件无法将未处理的触摸事件提升为鼠标事件(默认值)。见:

http://nui.joshland.org/2010/04/why-wont-wpf-controls-work-with-touch.html

答案 1 :(得分:2)

如果取消操作事件,则应获取鼠标事件。

答案 2 :(得分:-2)

使用行为