c# – 如何在Windows 10 Phone上的Windows Universal Apps中通过触摸设置拖动?

前端之家收集整理的这篇文章主要介绍了c# – 如何在Windows 10 Phone上的Windows Universal Apps中通过触摸设置拖动?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已成功设置我的网格用鼠标拖动
<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.拖动网格也有效.

猜你在找的C#相关文章