经常在应用需要修改光标,显示点击、显示输入,但是有些元素不是系统的,那么如何设置鼠标?

本文主要:UWP 设置光标,UWP 移动鼠标
<!--more-->

设置光标

需要写一点代码来让程序比较容易看到,什么光标对于什么。

UWP 设置的光标有些看不懂,直接看不知道他是干什么

在xaml写代码:

<StackPanel><TextBlock Margin="10,10,10,10" Text="Hand" PointerEntered="button_OnPointerEntered"></TextBlock><TextBlock Margin="10,10,10,10" Text="Arrow" PointerEntered="button_OnPointerEntered"></TextBlock><TextBlock Margin="10,10,10,10" Text="Cross" PointerEntered="button_OnPointerEntered"></TextBlock><TextBlock Margin="10,10,10,10" Text="Help" PointerEntered="button_OnPointerEntered"></TextBlock><TextBlock Margin="10,10,10,10" Text="Beam" PointerEntered="button_OnPointerEntered"></TextBlock></StackPanel>

代码写好了,他可以在鼠标移入TextBlock 进入函数,可以在函数修改UWP 鼠标光标

首先使用Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor 设置或获取光标。

需要设置光标需要用Windows.UI.Core.CoreCursor

他有一些比较多用的类型,下面是他们对于代码

  • Hand 点击

  • Arrow 正常

  • Cross 十字

  • Help 帮助

  • Wait 等待

  • Beam 输入

于是对应界面

private void button_OnPointerEntered(object sender, PointerRoutedEventArgs e){string str = (sender as TextBlock)?.Text as string;uint n = 1;switch (str){case "Hand":Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, n);break;case "Arrow": Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, n); break;case "Cross": Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Cross, n); break;case "Help": Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Help, n); break;case "Beam": Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.IBeam, n); break;}}

试试把代码放到工程,可以看到UWP 光标改变。

如果不知道 n 是什么,我可以说,自定义光标就是使用n,但是复杂。

很少会有需要自己做光标。如果需要自己做,请看自定义光标

移动鼠标

有时候需要把鼠标移动到一个元素上,UWP 移动鼠标和改变光标一样。

移动鼠标,设置CoreWindow.PointerPosition

在界面放一个按钮,点击他,移动鼠标

             var p = new Point(Window.Current.Bounds.X + Window.Current.Bounds.Width / 2, Window.Current.Bounds.Y + Window.Current.Bounds.Height / 2);Window.Current.CoreWindow.PointerPosition = p;

这样移动很简单,移动是屏幕坐标,不是应用坐标,需要对移动加上窗口移动

https://blogs.msdn.microsoft.com/devfish/2012/08/01/customcursors-in-windows-8-csharp-metro-applications/


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

转载于:https://www.cnblogs.com/lindexi/p/6949663.html

win10 uwp 改变鼠标相关推荐

  1. 反转 鼠标_新版 Win10 中改变鼠标颜色

    在 Windows 10 中,传统控制面板里的 "鼠标" 设置面板中,有不少的鼠标指针方案被删除,只留下了默认和反色的鼠标指针方案,然而微软在新版本的 Windows 10 中带来 ...

  2. win10如何改变鼠标的形状和颜色?

    2020太过沉重,愿所有人安康. 今天打开的电脑,不知道是不是鼠标的原因,感觉鼠标图示很不爽. 所以就试着去改一下鼠标样式,嗯,还是比较喜欢这种高级黑. 与你分享 首先打开控制面板 然后在控制面板中点 ...

  3. win10 uwp 让焦点在点击在页面空白处时回到textbox中

    原文:win10 uwp 让焦点在点击在页面空白处时回到textbox中 在网上 有一个大神问我这样的问题:在做UWP的项目,怎么能让焦点在点击在页面空白处时回到textbox中? 虽然我的小伙伴认为 ...

  4. win10 UWP Controls by function

    Windows的 XAML UI 框架提供了很多控件,支持用户界面开发库. 我现在做的一个中文版的,很多都是照着微软写,除了注释 我们先学微软做一个简单的frame,新建Page,里面放title和跳 ...

  5. win10 uwp 如何使用DataTemplate

    这是数据模板,一般用在数组的绑定,显示数组中的元素. 假如我们有一个列表,列表里是书,包括书名.作者.还有出版,那么我们只有源信息,如何把它显示到我们的ListView,就需要DataTemplate ...

  6. Win10 UWP应用发布流程

    简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...

  7. win10 uwp 拖动控件

    我们会使用控件拖动,可以让我们做出好看的动画,那么我们如何移动控件,我将会告诉大家多个方法.其中第一个是最差的,最后的才是我希望大神你去用. Margin 移动 我们可以使用Margin移动,但这是w ...

  8. win10 UWP 应用设置

    win10 UWP 应用设置 简单的把设置需要的,放到微软自带的LocalSettings LocalSettings.Values可以存放几乎所有数据 如果需要存放复合数据,一个设置项是由多个值组成 ...

  9. win10 uwp DataContext

    本文告诉大家DataContext的多种绑法. 适合于WPF的绑定和UWP的绑定. 我告诉大家很多个方法,所有的方法都有自己的优点和缺点,可以依靠自己喜欢的用法使用.当然,可以在新手面前秀下,一个页面 ...

最新文章

  1. Fourinone2.0对分布式文件的简化操作
  2. java如何接收邮件_java Exchange服务接收邮件
  3. 关于css的一些特别用法
  4. 认识 android-job
  5. flume学习-含安装
  6. iOS.Dev.Support.MultiVersions
  7. 高老师架构设计思考短句集(1)
  8. unix grep命令_Linux / UNIX中的Grep命令
  9. 【转】宝贝,我要出嫁了……
  10. MFC教程——鸡啄米
  11. Python实例练手项目源码 - 关不掉的窗口
  12. Struts2框架之文件下载
  13. 【实战】在qgis上查看街景照片( go2streetview谷歌街景、go2mapillary)
  14. Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “/sear
  15. Android Studio 生成二维码、生成带logo的二维码
  16. Caffe中BN层与CONV层的融合(merge_bn)
  17. 语音转文字 Privacy Policy
  18. v-if和v-for的优先级
  19. 一文搞懂Nginx限流(简单实现)
  20. 美联储缩表“全速前进” 加密投资产品交易量创两年新低

热门文章

  1. [深度学习-原理]浅谈Attention Model
  2. 去哪儿-01-EnvironmentalPre
  3. 转:Python: 什么是*args和**kwargs
  4. TX2刷机flashOS finished后,卡在determining IP address解决方案
  5. 人工智能建立本体库_本体论学习笔记一
  6. VS2008下直接安装使用Boost库1 46 1版本
  7. CentOs基础操作指令(文件目录类)
  8. 设计模式学习笔记——备忘录(Memento)模式
  9. java接口fastjson_走进Java接口测试之fastjson指南
  10. pythonpyqt5线程暂停重启时间_PyQT5 停止死循环线程(监控文件是否修改)