2012-03-02 79 views
2

我想加载一个本地图像并将其用于光标。为了做到这一点,我必须从图像发送一个流到游标(Stream cursorStream)的构造函数。如何使用wpf中的本地图像更改光标?

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

可能重复到:http://stackoverflow.com/questions/46805/custom-cursor-in-wpf – 2012-03-02 09:25:09

+1

全部工作示例CA在这里找到:http://stackoverflow.com/questions/2835502/旋转光标-根据对旋转-文本/ 2836904#2836904 – 2012-03-02 09:26:03

回答

0

光标需要.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);