在 WPF 中,可以通过 Cursors 静态类里面的各个预定义属性来设置移入到某个元素时,鼠标光标的外观样式。今天小伙伴问我哪个是鼠标移动控件的鼠标外观属性,在看到 Cursors 静态类里面那么多属性时,我也不知道用哪个好。于是我就写了一个叫鼠标光标大全的应用,可以让大家快速知道有哪些可以用的光标

以下是我的应用界面

鼠标移动到不同的属性上,即可修改当前的鼠标外观

这个应用我在 github 和 gitee 上完全开源

不嫌弃麻烦的话,还请自行下载代码,自己构建。可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin 0db985a1c785e0a3d090c2eb2bcb2da9e032f156

以上使用的是 gitee 的源,如果 gitee 不能访问,请替换为 github 的源

git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git

获取代码之后,进入 KeregabaneyairWeqainowafobar 文件夹

如果嫌弃麻烦的话,而且 CSDN 积分不要钱的话,还请到 CSDN 下载 我构建好的应用

以下是核心的逻辑,可以通过编写一个 ListView 控件,让这个控件里面的每一项绑定光标。在 WPF 中,可以在不同的元素上,给各个元素设置自己光标,如果没有设置,那将会使用元素的上一层容器的鼠标光标属性

          <Border Margin="10,10,10,10" Height="50" Width="90" Background="#AFAFAF" IsHitTestVisible="True"Cursor="{Binding Cursor}"><TextBlock Text="{Binding Name}" HorizontalAlignment="Center" VerticalAlignment="Center" /></Border>

以上的代码是放在 ItemTemplate 作为列表里面的某个元素

绑定的 Model 定义如下

    public class CursorInfo{public CursorInfo(Cursor cursor){Name = cursor.ToString();Cursor = cursor;}public string Name { get; }public Cursor Cursor { get; }}

在 MainWindow 设置了所有默认的光标

    public partial class MainWindow : Window{public MainWindow(){CursorInfoList = new List<CursorInfo>(){new CursorInfo(Cursors.AppStarting),new CursorInfo(Cursors.Arrow),new CursorInfo(Cursors.ArrowCD),new CursorInfo(Cursors.Cross),new CursorInfo(Cursors.Hand),new CursorInfo(Cursors.Help),new CursorInfo(Cursors.IBeam),new CursorInfo(Cursors.No),new CursorInfo(Cursors.None),new CursorInfo(Cursors.Pen),new CursorInfo(Cursors.ScrollAll),new CursorInfo(Cursors.ScrollE),new CursorInfo(Cursors.ScrollN),new CursorInfo(Cursors.ScrollNE),new CursorInfo(Cursors.ScrollNS),new CursorInfo(Cursors.ScrollNW),new CursorInfo(Cursors.ScrollS),new CursorInfo(Cursors.ScrollSE),new CursorInfo(Cursors.ScrollSW),new CursorInfo(Cursors.ScrollW),new CursorInfo(Cursors.ScrollWE),new CursorInfo(Cursors.SizeAll),new CursorInfo(Cursors.SizeNESW),new CursorInfo(Cursors.SizeNS),new CursorInfo(Cursors.SizeNWSE),new CursorInfo(Cursors.SizeWE),new CursorInfo(Cursors.UpArrow),new CursorInfo(Cursors.Wait),};DataContext = this;InitializeComponent();}public List<CursorInfo> CursorInfoList { get; }public CursorInfo CurrentCursor{set{_currentCursor = value;Cursor = value.Cursor;}get => _currentCursor;}private CursorInfo _currentCursor;}

全部的 XAML 代码如下

<Window x:Class="KeregabaneyairWeqainowafobar.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:KeregabaneyairWeqainowafobar"mc:Ignorable="d"Title="光标" Height="600" Width="800"><Grid><Grid.ColumnDefinitions><ColumnDefinition /><ColumnDefinition Width="2*" /></Grid.ColumnDefinitions><ListView Grid.Column="1" Margin="10,10,10,10" ItemsSource="{Binding CursorInfoList}"SelectedItem="{Binding CurrentCursor,Mode=TwoWay}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"><ListView.ItemsPanel><ItemsPanelTemplate><WrapPanel /></ItemsPanelTemplate></ListView.ItemsPanel><ListBox.ItemContainerStyle><Style TargetType="ListBoxItem"><Setter Property="HorizontalContentAlignment" Value="Stretch" /></Style></ListBox.ItemContainerStyle><ListView.ItemTemplate><DataTemplate DataType="local:CursorInfo"><Border Margin="10,10,10,10" Height="50" Width="90" Background="#AFAFAF" IsHitTestVisible="True"Cursor="{Binding Cursor}"><TextBlock Text="{Binding Name}" HorizontalAlignment="Center" VerticalAlignment="Center" /></Border></DataTemplate></ListView.ItemTemplate></ListView></Grid>
</Window>

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流


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

WPF 鼠标光标大全相关推荐

  1. 《HTML5 开发实例大全》——1.26 使用鼠标光标拖动网页中的文字

    本节书摘来自异步社区<HTML5 开发实例大全>一书中的第1章,第1.26节,作者: 张明星 更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.26 使用鼠标光 ...

  2. WPF窗体隐藏鼠标光标的方法

    原文:WPF窗体隐藏鼠标光标的方法 要引用 System.Windows.Input; Mouse.OverrideCursor = Cursors.None; 去掉 Override 则使用: Mo ...

  3. css鼠标光标属性样式大全

    css鼠标光标属性样式大全

  4. centos7点击桌面图标无反应_【问题帖】电脑不显示桌面图标和任务栏,只显示鼠标光标咋办?...

    本帖首发于:360官网.360安全卫士服务号.原作者:Yimoo1314 "电脑不显示桌面图标和任务栏,只显示鼠标光标"问题解决方案-安全资讯-360官网​www.360.cnht ...

  5. MFC获取键盘光标和鼠标光标所在控件的ID

    键盘光标:     CWnd *pWnd = GetFocus();     if (pWnd == NULL)      ;//no focus      else      nID = pWnd- ...

  6. 隐藏鼠标指针_Mac鼠标光标消失怎么办?苹果电脑鼠标指针不显示的解决方法

    在小编使用mac电脑的过程中发现,鼠标光标会偶尔在Mac上消失.这种情况完全是随机的,任何时候都有可能发生.经过几次之后小编发现,当使用诸如Photoshop之类的大型软件并连接多个显示器时,鼠标光标 ...

  7. Eclipse 答疑:为什么 Eclipse 里面的鼠标光标变成了小黑方块?什么原因导致的?

    文章目录 前言 一.问题产生场景 二.问题原因分析 2.1.问题直接诱因 2.2."Insert"按键作用分析 2.2.1.插入(默认)状态解释及案例 2.2.2.覆盖状态解释及案 ...

  8. linux桌面隐藏鼠标,如何隐藏鼠标光标

    问题描述 我正在触摸屏上使用Ubuntu Precise建立一个信息亭.现在我正在寻找使鼠标光标消失的适当方法.当人们知道他们指向的位置时,在他们的手指下面显示一个箭头是没用的,并且他们最后指向的箭头 ...

  9. Java如何隐藏控制按键动画_Java动画短片当不移动鼠标光标时

    我有一个非常简单的动画,一个大字体的文字不断(逐个像素)移动到左边.首先将文本转换为图像,然后启动定时器任务,重复(每10-20 ms)将图像的x坐标递减1,并进行重绘(). 这个程序在某些系统上显示 ...

  10. java createcustomcursor,CustomCursor插件:自定义你的鼠标光标

      Custom Cursor for Chrome 在你们新标签页争奇斗艳的时候,有没有人考虑过鼠标光标的感受? 没有,一个都没有. 你们只在乎壁纸有没有逼格,图标好不好看,天气预报准不准,却没有一 ...

最新文章

  1. ASP.NET中 Calendar(日期控件)的使用
  2. php调用搜狗ocr接口,搜狗ocr识别接口
  3. RecyclerView 可以与CollapsingToolbarLayout一起使用
  4. Jackson 读写 JSON
  5. mp4无法用于直播流
  6. mysql的order by,group by和distinct优化
  7. sokit socket调试工具
  8. Python:处理车辆控制单元MDF(CANApe数据)记录文件思路
  9. 路由器如何设置无线桥接
  10. 运行iphone模拟器
  11. Java实现IP代理
  12. Android 日历自定义文本
  13. 一次泛微OA宕机事件的解决。
  14. java win7 管理员权限_Win7系统如何一键取得管理员权限
  15. 用户管理的备份恢复(2)
  16. 618,拼多多玩起流量没阿里、京东啥事了
  17. 【C/C++】超大遥感影像读取和存储 GDAL
  18. 电脑黑屏显示重新连接服务器,电脑黑屏怎么处理(电脑上显示器黑屏的处理方法)...
  19. 使用aspose方式使excel,ppt,word进行在线预览。(无水印)
  20. 根据年份和月份来计算天数

热门文章

  1. python赋值01_少说话多写代码之Python学习022——赋值语句的用户01(序列解包)...
  2. Navigate组件的使用(React Router6)
  3. 图片马赛克去除工具_黑科技!利用 AI 技术,马赛克终于可以去掉了
  4. 量化交易零基础入门教程
  5. 打开U盘 提示 服务器无法运行,win10打开u盘提示“系统资源不足 无法完成请求的服务”怎么办...
  6. 算法创作|什么是数据结构
  7. brpc中的协程bthread源码剖析(一):Work Stealing以及任务的执行与切换
  8. 算法:工作窃取算法(work-stealing)。
  9. 昨天疯传朋友圈的 Pony 马化腾的讲话,未来是全真互联网时代,又一场大洗牌即将开始...
  10. LeetCode 229 求众数 II