博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UWP 拖拽文件
阅读量:6216 次
发布时间:2019-06-21

本文共 1713 字,大约阅读时间需要 5 分钟。

原文:

桌面环境下的UWP,加入拖拽模式还是会增加用户好感度的。

好了,先看一下我最新研发的【小微识花】吧,演示一下

 

 

 

炫酷,有没有,???

而且这识别速度,也是杠杠的~~~ 

 

关于拖拽的实现,一般有两个方法。但是不论哪一个,首先相同的是,要对要对目标设置属性Alldrop=true;

就拿Grid作比方

 

1、原生实现

前台加点东西

 

在后台写代码:

private async void Grid_Drop(object sender, DragEventArgs e)        {            var defer = e.GetDeferral();            try            {                DataPackageView dpv = e.DataView;                if (dpv.Contains(StandardDataFormats.StorageItems))                {                    List
files1 = new List
(); var files = await dpv.GetStorageItemsAsync(); foreach (var item in files) { //todo...... } } } finally { defer.Complete(); } } private void Grid_DragOver(object sender, DragEventArgs e) { e.AcceptedOperation = DataPackageOperation.Copy; e.DragUIOverride.IsCaptionVisible = false; e.DragUIOverride.IsContentVisible = true; e.DragUIOverride.IsGlyphVisible = false; e.Handled = true; }

 

2、利用WTS提供的DragDrop Services

前台引用:

xmlns:dd="using:XiaoweiFlowerRecognition.Services.DragAndDrop"

 

后台代码就很简单了:

响应Action方法 GetStorageItem 即可

public Action
> GetStorageItem => ((items) => OnGetStorageItem(items)); public async void OnGetStorageItem(IReadOnlyList
items) { foreach (var item in items) { //todo...... } }

 

 

推荐使用第二种方法吧,毕竟WTS也可以提供更多的服务来使用,很方便快捷的。

转载地址:http://zlsja.baihongyu.com/

你可能感兴趣的文章
javascript的函数式编程方法
查看>>
springboot rabbitmq 补充
查看>>
PhpStorm下提示Phalcon框架语法
查看>>
我对JavaScript对象的理解
查看>>
面试宝典之学习能力
查看>>
二叉树的非递归前序遍历
查看>>
JavaScript 单线程不简单.md
查看>>
Spring boot 和 Shiro 做后台跨域访问权限控制遇到的问题
查看>>
animationend 事件
查看>>
JS进阶篇--JS中的反柯里化( uncurrying)
查看>>
MySQL常见问题总结
查看>>
关于多电脑布署hexo博客,和在线更新文章
查看>>
Angular 学习笔记:$digest 实现原理
查看>>
leetcode98. Validate Binary Search Tree
查看>>
redis Q&A
查看>>
【170天】黑马程序员27天视频学习笔记【Day08-下】
查看>>
Day20 - 语言识别系统中文指南
查看>>
Python迭代器、生成器、装饰器深入解读
查看>>
Node.js异步I/O,事件驱动
查看>>
返回信息流页面重新加载问题
查看>>