繁体   English   中英

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

[英]How do I set up dragging by touch in Windows Universal Apps on Windows 10 Phone?

我已成功设置我的网格用鼠标拖动

<Grid x:Name="SourceGrid13"
              CanDrag="True"
              DragStarting="SourceGrid_DragStarting"
              Margin="0,20,0,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上的Rectangle

<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;
}

它足以在触摸屏上和桌面上用鼠标拖动Canvas上的任何UIElement 拖动Grid也有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM