如何在wpf中用本地图像更改光标

本文关键字:图像 地图 光标 wpf | 更新日期: 2023-09-27 18:26:19

我正在尝试加载一个本地图像并将其用于光标。为了做到这一点,我必须将图像中的流发送到Cursor(stream cursorStream)构造函数。

    var res = Application.GetResourceStream(new Uri("pack://application:,,,/MyProj;component/Images/delete-icon.png"));
    this.Cursor = new Cursor(res.Stream);

问题是我总是得到这个异常

ReadTimeout = (res.Stream).ReadTimeout threw an exception of type 'System.InvalidOperationException'
WriteTimeout = (res.Stream).WriteTimeout threw an exception of type 'System.InvalidOperationException'

我该怎么做?

如何在wpf中用本地图像更改光标

Cursor需要.cur文件类型。还要确保资源文件夹中的文件的构建操作设置为资源

示例:如果我的项目中的以下文件夹有.cur游标文件-->component/Resource/Images/BusyCursor.cur

我使用下面的代码和光标更改来这个控件。

StreamResourceInfo sri = System.Windows.Application.GetResourceStream(
    new Uri("/<projectname>;component/Resource/Images/BusyCursor.cur", UriKind.RelativeOrAbsolute));
this.Cursor = new Cursor(sri.Stream);