未调用ScatterViewItem操作事件处理程序

时间:2015-09-21 21:48:23

标签: c# wpf touch surface

我正在开发一个基于WPF Surface触摸屏的应用程序,该应用程序使用ScatterViewItem控件。

使用触摸输入时,所有操作都可以正常工作:旋转,缩放,平移。

不幸的是,当我尝试在操作发生时执行某些代码时,例如C#代码隐藏中的以下代码,没有任何反应。

ManipulationDelta += myItemManipulationDelta;

private void myItemManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
        Application.Current.Shutdown(); //just to see if it's even happening
}

我尝试向ManipulationStartingManipulationStarted添加类似的处理程序但没有成功。

更新: 正如答案所示,我尝试了以下内容,但没有成功:

public partial class MyControl: ScatterViewItem
{
//constructor for custom control

    private void MainWindow_ManipulationDelta2(object sender, ManipulationDeltaEventArgs e)
    {
         Application.Current.Shutdown();
    }

    private void MainWindow_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
    {
        // normal handling of the event.
    }

    public MyControl()
    {
        ManipulationDelta += MainWindow_ManipulationDelta2;
        ManipulationDelta += MainWindow_ManipulationDelta;
        // more stuff ...
    }
}

1 个答案:

答案 0 :(得分:0)

事实证明,我必须在基于ContainerManipulationDelta的自定义控件中注册ScatterViewItem事件才能正确触发事件。现在一切都按预期工作了。