我已成功设置我的网格用鼠标拖动
<Grid x:Name="SourceGrid13" CanDrag="True" DragStarting="SourceGrid_DragStarting" Margin="0,20,0">
但是,通过触摸,这在Windows Phone(Windows 10)上无法拖动.我该如何设置?
另外我假设一旦我得到网格拖动,下拉序列将与鼠标相同?这是我的代码:
<ListView HorizontalAlignment="Center" AllowDrop="True" Drop="Image_Drop" DragEnter="TargetImage_DragEnter" DragLeave="TargetImage_DragLeave" CanDragItems="True" IsSwipeEnabled="True" MinHeight="124" Grid.Row="4" Grid.Column="1"> <Image Height="224"/> </ListView>
在平板电脑上,它很难,但它会触摸拖动.我是否需要在手机上启用它?
我现在认为触摸拖动可能会被禁用,直到Windows Phone上的Windows 10上的未来更新或实际发布.
更新基于答案:
我将listView的CanDragItems和IsSwipeEnabled设置为True,但这并没有改变任何东西.我用一些奇怪的结果应用了操作矩形.在手机上,我可以拖动矩形,但当我将它带入我的ListViews时,它就会消失.这些图片显示:
全矩形:
将其向下拖出Framework元素 – 它被拖动到listView后面.
在桌面上,矩形被拖动到listView前面,但在从原始框架元素拖出后,它是不可分割的.
解决方法
任何触摸屏操作所需的东西都在这里.有一个简单的例子 – 画布上的矩形:
<Canvas Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Rectangle Width="50" Height="50" Fill="Blue" RenderTransformOrigin="0.5,0.5" ManipulationDelta="Rectangle_ManipulationDelta" ManipulationMode="All"> <Rectangle.RenderTransform> <TranslateTransform x:Name="dragTranslation" /> </Rectangle.RenderTransform> </Rectangle> </Canvas>
最小的处理代码是:
private void Rectangle_ManipulationDelta(object sender,ManipulationDeltaRoutedEventArgs e) { dragTranslation.X += e.Delta.Translation.X; dragTranslation.Y += e.Delta.Translation.Y; }
它足以在触摸屏上和桌面上用鼠标拖动画布上的任何UIElement.拖动网格也有效.