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

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

原文:

桌面环境下的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也可以提供更多的服务来使用,很方便快捷的。

posted on
2018-04-20 22:34 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/8893945.html

你可能感兴趣的文章
sqlite3经常使用命令&语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
FUSE-用户空间文件系统
查看>>
 VS2012 C#调用C++ dll
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
bash使用规则
查看>>
AVL数
查看>>
全栈12期的崛起之捡点儿有用的说说
查看>>
属性动画
查看>>
标识符
查看>>
路由跟踪工具0trace
查看>>