我已经在windowsphone 8的android音乐播放器中实现了一个可用的popup菜单。为此,我使用了Library Interactivity来获取拖放function。
现在看来,我不能使用windowsphone 8.1的function了。 微软的自动转换工具我不能使用。 我们的项目是为多个平台而devise的,并有可移植的类库。 我们不得不推出Silverlight的一部分,这就是为什么它不是可转换的。
我在互联网上search互联网,比如用gesturerecognizers做这个,但没有运气。
也许你们有一些想法?
Thx很多的任何答复。
这里有旧图书馆的部分:
<i:Interaction.Behaviors> <el:MouseDragElementBehavior ConstrainToParentBounds="True" Dragging="MouseDragRight_Dragging" DragFinished="MouseDragRight_DragFinished" DragBegun="MouseDrag_DragBegan"/> </i:Interaction.Behaviors>
检查出GestureRecognizer
。 MSDN:GestureRecognizer
GestureRecognizer类具有这些事件。
CrossSliding
当用户在支持仅沿单一轴进行平移的内容区域内执行滑动或轻扫手势(通过单个触摸接触)时发生。 手势必须以垂直于此平移轴的方向出现。
拖延
在用户使用鼠标或笔/触控笔(单个联系人)执行幻灯片或轻扫手势时发生。 保持当用户执行按住手势(用单点触摸,鼠标或笔/触针接触)时发生。
在ManipulationCompleted
发生在输入点被抬起并且所有后续运动(平移,展开或旋转)通过惯性结束时发生。
在ManipulationInertiaStarting
当所有接触点在操纵过程中被抬起并且操纵的速度足以引发惯性行为(在输入指针被解除之后平移,展开或旋转继续)时发生。
在ManipulationStarted
当一个或多个输入点已经启动并且随后的运动(平移,展开或旋转)已经开始时发生。
ManipulationUpdated
在一个或多个输入点已经启动并且随后的运动(平移,展开或旋转)正在进行之后发生。
RightTapped
当指针输入被解释为右击手势时发生,不管输入设备如何。 Tapped指针输入被解释为轻击手势时发生。
感谢Chubosaurus软件,我想通了:
1:用你需要的设置创建一个GestureRecognizer
的实例
GestureRecognizer _gestureRecognizer = new GestureRecognizer(); _gestureRecognizer.GestureSettings = GestureSettings.CrossSlide ;
2:连接你需要的事件
_gestureRecognizer.CrossSliding += _gestureRecognizer_CrossSliding;
3:根据您需要的手势,您必须将事件路由到识别器。 在这种情况下
private void MainViewGrid_PointerMoved(object sender, PointerRoutedEventArgs e) { _gestureRecognizer.ProcessMoveEvents(e.GetIntermediatePoints(MainViewGrid)); } private void MainViewGrid_PointerPressed(object sender, PointerRoutedEventArgs e) { _gestureRecognizer.ProcessDownEvent(e.GetCurrentPoint(MainViewGrid)); } private void MainViewGrid_PointerReleased(object sender, PointerRoutedEventArgs e) { _gestureRecognizer.ProcessUpEvent(e.GetCurrentPoint(MainViewGrid)); }