我正在开发一个基于WPF Surface触摸屏的应用程序,该应用程序使用ScatterViewItem
控件。
使用触摸输入时,所有操作都可以正常工作:旋转,缩放,平移。
不幸的是,当我尝试在操作发生时执行某些代码时,例如C#代码隐藏中的以下代码,没有任何反应。
ManipulationDelta += myItemManipulationDelta;
private void myItemManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
Application.Current.Shutdown(); //just to see if it's even happening
}
我尝试向ManipulationStarting
和ManipulationStarted
添加类似的处理程序但没有成功。
更新: 正如答案所示,我尝试了以下内容,但没有成功:
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 ...
}
}
答案 0 :(得分:0)
事实证明,我必须在基于ContainerManipulationDelta
的自定义控件中注册ScatterViewItem
事件才能正确触发事件。现在一切都按预期工作了。