Windows Phone 8.1 ManipulationDelta 事件
Windows Phone 8.1 ManipulationDelta Event
我对这个话题真的很困惑。 None 我发现的教程,例如当触摸输入有效时四处移动对象。例如他们都做这样的事情:
Control.AddHandler(UIElement.ManipulationStartedEvent, new EventHandler
<ManipulationStartedEventArgs>(Control_ManipulationStarted), true);
但是没有ManipulationStartedEventArgs,VS2013找不到,也没办法添加using指令。这些教程是否过时并且 MS 是否改变了 ManipulationDelta 的工作方式?
再次将其添加到“属性”部分的“事件处理程序”部分不起作用,无论我尝试做什么,都不会触发任何事件。
要使 UI 元素的操作生效,必须将 ManipulationMode 属性 设置为 不同于 None
或 System
作为一个操作事件源;即,如果您希望事件在水平指针移动时触发,请将 ManipulationMode
设置为 TranslateX
。
对于 UI 在 Windows Universal 中的操作,您有 3 个事件:
- ManipulationStarted
- ManipulationDelta
- 操作完成
每个在 System.Windows.Input
命名空间下都有自己的 EventArgs
- ManipulationStartedEventArgs
- ManipulationDeltaEventArgs
- ManipulationCompletedEventArgs
但是,问题可能出在您使用的 UI 元素的类型上,而不是所有 accept/generate 操作事件。
UI 不存在的元素示例:
WebView
- (我预计
Canvas
但不确定,还没有测试)
UI 元素的示例:
Textblock
ListView
我对这个话题真的很困惑。 None 我发现的教程,例如当触摸输入有效时四处移动对象。例如他们都做这样的事情:
Control.AddHandler(UIElement.ManipulationStartedEvent, new EventHandler
<ManipulationStartedEventArgs>(Control_ManipulationStarted), true);
但是没有ManipulationStartedEventArgs,VS2013找不到,也没办法添加using指令。这些教程是否过时并且 MS 是否改变了 ManipulationDelta 的工作方式?
再次将其添加到“属性”部分的“事件处理程序”部分不起作用,无论我尝试做什么,都不会触发任何事件。
要使 UI 元素的操作生效,必须将 ManipulationMode 属性 设置为 不同于 None
或 System
作为一个操作事件源;即,如果您希望事件在水平指针移动时触发,请将 ManipulationMode
设置为 TranslateX
。
对于 UI 在 Windows Universal 中的操作,您有 3 个事件:
- ManipulationStarted
- ManipulationDelta
- 操作完成
每个在 System.Windows.Input
命名空间下都有自己的 EventArgs
- ManipulationStartedEventArgs
- ManipulationDeltaEventArgs
- ManipulationCompletedEventArgs
但是,问题可能出在您使用的 UI 元素的类型上,而不是所有 accept/generate 操作事件。
UI 不存在的元素示例:
WebView
- (我预计
Canvas
但不确定,还没有测试)
UI 元素的示例:
Textblock
ListView