我们会使用控件拖动,可以让我们做出好看的动画,那么我们如何移动控件,我将会告诉大家多个方法。其中第一个是最差的,最后的才是我希望大神你去用。
Margin 移动
我们可以使用Margin移动,但这是wr说不要这样做。
We can move the control by Margin,but using this method is not recommended.
我们可以在xaml写一个Button,然后就使用左键获取鼠标,这个可以去看 win10 uwp 获取按钮鼠标左键按下
http://lindexi.oschina.io/lindexi/post/win10-uwp-%E8%8E%B7%E5%8F%96%E6%8C%89%E9%92%AE%E9%BC%A0%E6%A0%87%E5%B7%A6%E9%94%AE%E6%8C%89%E4%B8%8B/
于是在Button_OnPointerMoved,我们获取移动的xy
这样point.Position.X
就是移动的左边
我们可以通过x += point.Position.X - btn.ActualWidth / 2.0;
这是因为btn.ActualWidth / 2.0
不用的话会是控件的左上角。
我们把它给Margin
Canvas 拖动控件
我们需要把控件放在Canvas,然后使用Margin一样的
我们需要设置附件属性,btn.SetValue(Canvas.LeftProperty, x)
就是设置Canvas.Left
Manipulation 拖动控件
我们可以使用手势,这个需要在控件设置ManipulationMode="All"
,使用ManipulationDelta
做好之后,我们发现实在奇怪
好在OneWindows的帮助
参见:http://www.cnblogs.com/cjw1115/p/5323339.html
原文链接: http://blog.lindexi.com/post/win10-uwp-%E6%8B%96%E5%8A%A8%E6%8E%A7%E4%BB%B6
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。