WPF拖拽过程中修改鼠标指针属性
在WPF中鼠标拖拽时,指针默认是个圆圈(呵呵,有点难看),网上找了一圈没有找到好的方法,在此把我的解决过程写下:
在拖拽过程中使用到了DragDrop类,类中DoDragDrop方法为启动拖拽操作,而改变鼠标指针事件处理函数应当在执行启动拖拽操作之前加入到拖拽的事件队列中去,在DragDrop类中有一系列的事件处理函数,而需要操作鼠标指针的事件是GiveFeedback,代码中只要加入一个处理函数即可,上代码:
private void StartDragWindow<T>(MouseEventArgs e, T dragElement) where T : ContentControl{QueryContinueDragEventHandler queryhandler = new QueryContinueDragEventHandler(DragSource_QueryContinueDrag);dragElement.QueryContinueDrag += queryhandler;DataObject data = new DataObject(typeof(string), "Moved!!!");this._dragdropWindow.Show();//设置鼠标事件GiveFeedbackEventHandler handler = new GiveFeedbackEventHandler(DragSource_GiveFeedback);dragElement.GiveFeedback += handler;DragDropEffects de = DragDrop.DoDragDrop(dragElement, data, DragDropEffects.Move);dragElement.GiveFeedback -= handler;//执行完毕去除处理事件dragElement.QueryContinueDrag -= queryhandler;}void DragSource_GiveFeedback(object sender, GiveFeedbackEventArgs e){Mouse.SetCursor(Cursors.Arrow);//修改鼠标样式e.UseDefaultCursors = false;e.Handled = true;}//更新位置void DragSource_QueryContinueDrag(object sender, QueryContinueDragEventArgs e){this.UpdateWindowLocation();}
搞定,收工
详细了解DragDrop类的拖拽事件处理,请参考这里http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx
转载于:https://www.cnblogs.com/az235/archive/2012/11/21/2781041.html
WPF拖拽过程中修改鼠标指针属性相关推荐
- JS实现拖拽并解决拖拽过程中鼠标抬起仍旧处于拖拽状态问题
需求分析 实现一个任意元素可以被鼠标任意拖拽:鼠标在这个元素上按下,开始拖拽,元素跟着鼠标一起移动,当鼠标松开时,被拖拽的元素固定在当前位置上.如图所示(底下灰色的轨迹不知道为啥录制动图就出现了,实际 ...
- 【加强版】js原生实现拖拽效果,这次没有用document的mousedown、mousemove、mouseup事件我们来点实际的(但是有个弊端:拖拽过程中鼠标会变成一个禁用符号,不太友好)
<div class='dragged'></div> //初始化需要拖拽的列initDrags() {var arr = document.querySelectorAll( ...
- 【WPF】拖拽ListBox中的Item
原文:[WPF]拖拽ListBox中的Item 整理了两个关于WPF拖拽ListBox中的Item的功能.项目地址 https://github.com/Guxin233/WPF-DragItemIn ...
- #711 – 在拖拽的过程中改变鼠标样式(Changing the Mouse Cursor While Dragging)
原文地址:https://wpf.2000things.com/2012/12/13/711-changing-the-mouse-cursor-while-dragging/ 在WPF拖拽的过程中, ...
- html自定义指针,如何自定义鼠标指针 怎样在wpf中自定义鼠标指针
如何在ppt中自定义鼠标指针的形状? 魔兽世界怎么自定义鼠标指针 在系统 控制面板 里面鼠标属性 指针里面改就可以了 下面有个浏览 可以自定义换图案 怎样在网页中设定一整套自定义的鼠标指针? 麻烦了 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包括鼠标指针形状...
本实例所有文章文件夹 (一)功能概览 (二)创建项目.注冊热键.显示截图主窗体 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)加入配置管理功能 (七)加 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状
本实例全部文章目录 (一)功能概览 (二)创建项目.注册热键.显示截图主窗口 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)添加配置管理功能 (七)添加 ...
- vue实现简单的鼠标拖拽横向滚动和 鼠标滚轮横向滚动
原文地址:vue实现简单的鼠标拖拽横向滚动和 鼠标滚轮横向滚动_超人不会飞啊的博客-CSDN博客_vue鼠标拖拽 这边如果是动态渲染的div,需要等dom渲染结束后.id存在了.再去设置this.sc ...
- 游戏过程中的鼠标是否为真人操作的检测(集成学习、GAN网络)
目录 说明 问题的背景 外挂的猫鼠游戏 目前对于鼠标移动轨迹的机器人判别的研究 数据预处理 起点的平移 旋转变换 一种保留原始图像特征的归一化方式 系统模型设计 生成对抗网络 集成判别器 判别器D1 ...
最新文章
- 阿里产品专家:高情商的技术人,如何做沟通?
- myeclipse 8.5-9.0 安装 svn 方法 《转载》
- 【空间数据库技术】ArcSDE 10.1安装配置与企业级地理空间数据库的建立及连接
- 云原生全景图之六 | 托管 Kubernetes 和 PaaS 解决什么问题
- MySQL字符串类型
- 数字图像的5种增强处理
- 如何C#中实现在TreeView查找某一节点
- android 动态画直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...
- Servlet各种接口和类
- hashcat字典攻击
- 5V转3.3V原理图(AMS1117)
- linux mp4box安装,视频处理利器 MP4Box常用的12个命令
- 电脑键盘注册表已损坏导致无法输入信息的修复方式
- 移动硬盘提示格式化怎么办怎么恢复数据?
- 蓝牙4.0 For IOS
- Android 11何时进入手机,以及如何安装?
- oracle常用日期格式,ORACLE常用日期数据格式
- 多智能体深度强化学习综述与批判——Matthew E. Taylor
- 给服务器写一个简单的断网重连shell脚本
- Sentencepiece构建词典
热门文章
- vc6.0上安装qt插件
- linux星期六字符,linux shell系列10 判断某个月中的星期六和星期天
- 004_ZooKeeper客户端基础命令
- 003_ActiveMQ管理后台
- 局域网内计算机可以互访 无法上互联网,我使用路由器后访问互联网正常,但是网上邻居不能互访,怎么办?...
- 二进制在计算机电路中得到广泛的应用,电子技术与单片机的发展应用2喜欢就下吧(全文完整版)...
- 深入分析 Java I/O 的工作机制
- Android5.0新特性:全新的动画
- python002 一 eg: Python 入门技巧__环境搭建__git使用、git本地操作、 自建gitlab服务器
- 服务器策略文件,如何解决服务器对文件请求的缓存策略教程