将光标更改为自定义光标图像作为资源
Changing cursor to custom cursor image as a resource
我一直在尝试让我的光标成为自定义光标,来自位于我项目文件夹中的 .cur 文件作为 Resource
。这是我的解决方案布局:
- 解决方案
- WPF 应用程序
- WPF Class 库
- SampleControl.xaml(这个托管在解决方案中的 WPF 应用程序中)
- 图片
- test_cursor.cur
test_cur.cur 的构建操作设置为 Resource
。在我的 class 库中,顶层有一个 UserControl
,这就是我想要更改光标的原因。相关代码如下:
public partial class SampleControl: UserControl
{
InitializeComponent();
StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);
}
我尝试了 Uri
的几种不同变体,但我总是收到错误 Cannot locate resource 'test_cursor.cur'
。
文件路径错误
StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("Images\test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);
我通过以下操作让它工作:
Uri uri = new Uri("pack://application:,,,/SampleClassLibrary;Component/Images/test_cursor.cur");
StreamResourceInfo streamResource = Application.GetResourceStream(uri);
SampleClassLibrary
是解决方案下的class库工程名
我必须按原样制作 Uri
因为 .cur 文件是 class 库下的 Resource
并且托管在同一个库下的不同项目中解决方案
我一直在尝试让我的光标成为自定义光标,来自位于我项目文件夹中的 .cur 文件作为 Resource
。这是我的解决方案布局:
- 解决方案
- WPF 应用程序
- WPF Class 库
- SampleControl.xaml(这个托管在解决方案中的 WPF 应用程序中)
- 图片
- test_cursor.cur
test_cur.cur 的构建操作设置为 Resource
。在我的 class 库中,顶层有一个 UserControl
,这就是我想要更改光标的原因。相关代码如下:
public partial class SampleControl: UserControl
{
InitializeComponent();
StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);
}
我尝试了 Uri
的几种不同变体,但我总是收到错误 Cannot locate resource 'test_cursor.cur'
。
文件路径错误
StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("Images\test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);
我通过以下操作让它工作:
Uri uri = new Uri("pack://application:,,,/SampleClassLibrary;Component/Images/test_cursor.cur");
StreamResourceInfo streamResource = Application.GetResourceStream(uri);
SampleClassLibrary
是解决方案下的class库工程名
我必须按原样制作 Uri
因为 .cur 文件是 class 库下的 Resource
并且托管在同一个库下的不同项目中解决方案