WPF 鼠标光标大全
在 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 鼠标光标大全相关推荐
- 《HTML5 开发实例大全》——1.26 使用鼠标光标拖动网页中的文字
本节书摘来自异步社区<HTML5 开发实例大全>一书中的第1章,第1.26节,作者: 张明星 更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.26 使用鼠标光 ...
- WPF窗体隐藏鼠标光标的方法
原文:WPF窗体隐藏鼠标光标的方法 要引用 System.Windows.Input; Mouse.OverrideCursor = Cursors.None; 去掉 Override 则使用: Mo ...
- css鼠标光标属性样式大全
css鼠标光标属性样式大全
- centos7点击桌面图标无反应_【问题帖】电脑不显示桌面图标和任务栏,只显示鼠标光标咋办?...
本帖首发于:360官网.360安全卫士服务号.原作者:Yimoo1314 "电脑不显示桌面图标和任务栏,只显示鼠标光标"问题解决方案-安全资讯-360官网www.360.cnht ...
- MFC获取键盘光标和鼠标光标所在控件的ID
键盘光标: CWnd *pWnd = GetFocus(); if (pWnd == NULL) ;//no focus else nID = pWnd- ...
- 隐藏鼠标指针_Mac鼠标光标消失怎么办?苹果电脑鼠标指针不显示的解决方法
在小编使用mac电脑的过程中发现,鼠标光标会偶尔在Mac上消失.这种情况完全是随机的,任何时候都有可能发生.经过几次之后小编发现,当使用诸如Photoshop之类的大型软件并连接多个显示器时,鼠标光标 ...
- Eclipse 答疑:为什么 Eclipse 里面的鼠标光标变成了小黑方块?什么原因导致的?
文章目录 前言 一.问题产生场景 二.问题原因分析 2.1.问题直接诱因 2.2."Insert"按键作用分析 2.2.1.插入(默认)状态解释及案例 2.2.2.覆盖状态解释及案 ...
- linux桌面隐藏鼠标,如何隐藏鼠标光标
问题描述 我正在触摸屏上使用Ubuntu Precise建立一个信息亭.现在我正在寻找使鼠标光标消失的适当方法.当人们知道他们指向的位置时,在他们的手指下面显示一个箭头是没用的,并且他们最后指向的箭头 ...
- Java如何隐藏控制按键动画_Java动画短片当不移动鼠标光标时
我有一个非常简单的动画,一个大字体的文字不断(逐个像素)移动到左边.首先将文本转换为图像,然后启动定时器任务,重复(每10-20 ms)将图像的x坐标递减1,并进行重绘(). 这个程序在某些系统上显示 ...
- java createcustomcursor,CustomCursor插件:自定义你的鼠标光标
Custom Cursor for Chrome 在你们新标签页争奇斗艳的时候,有没有人考虑过鼠标光标的感受? 没有,一个都没有. 你们只在乎壁纸有没有逼格,图标好不好看,天气预报准不准,却没有一 ...
最新文章
- ASP.NET中 Calendar(日期控件)的使用
- php调用搜狗ocr接口,搜狗ocr识别接口
- RecyclerView 可以与CollapsingToolbarLayout一起使用
- Jackson 读写 JSON
- mp4无法用于直播流
- mysql的order by,group by和distinct优化
- sokit socket调试工具
- Python:处理车辆控制单元MDF(CANApe数据)记录文件思路
- 路由器如何设置无线桥接
- 运行iphone模拟器
- Java实现IP代理
- Android 日历自定义文本
- 一次泛微OA宕机事件的解决。
- java win7 管理员权限_Win7系统如何一键取得管理员权限
- 用户管理的备份恢复(2)
- 618,拼多多玩起流量没阿里、京东啥事了
- 【C/C++】超大遥感影像读取和存储 GDAL
- 电脑黑屏显示重新连接服务器,电脑黑屏怎么处理(电脑上显示器黑屏的处理方法)...
- 使用aspose方式使excel,ppt,word进行在线预览。(无水印)
- 根据年份和月份来计算天数
热门文章
- python赋值01_少说话多写代码之Python学习022——赋值语句的用户01(序列解包)...
- Navigate组件的使用(React Router6)
- 图片马赛克去除工具_黑科技!利用 AI 技术,马赛克终于可以去掉了
- 量化交易零基础入门教程
- 打开U盘 提示 服务器无法运行,win10打开u盘提示“系统资源不足 无法完成请求的服务”怎么办...
- 算法创作|什么是数据结构
- brpc中的协程bthread源码剖析(一):Work Stealing以及任务的执行与切换
- 算法:工作窃取算法(work-stealing)。
- 昨天疯传朋友圈的 Pony 马化腾的讲话,未来是全真互联网时代,又一场大洗牌即将开始...
- LeetCode 229 求众数 II