将光标更改为自定义光标图像作为资源

Changing cursor to custom cursor image as a resource

我一直在尝试让我的光标成为自定义光标,来自位于我项目文件夹中的 .cur 文件作为 Resource。这是我的解决方案布局:

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 并且托管在同一个库下的不同项目中解决方案