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

时间:2012-03-02 09:18:58

标签: c# wpf

我正在尝试加载本地图像并将其用于光标。为此,我必须将图像中的流发送到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'

我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

示例:如果我的项目中的以下文件夹有.cur光标文件 - >组件/资源/图像/ BusyCursor.cur

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

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

this.Cursor = new Cursor(sri.Stream);