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

时间:2019-04-05 03:03:13

标签: c# wpf resources cursor

我一直试图使光标成为位于项目文件夹中的.cur文件中的自定义光标,其形式为Resource。这是我的解决方案布局:

  • 解决方案
    • WPF应用程序
    • WPF类库
      • SampleControl.xaml(位于解决方案的WPF应用程序中)
      • 图片
        • test_cursor.cur

test_cur.cur的构建操作设置为Resource。在我的类库中,最顶层是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'

2 个答案:

答案 0 :(得分:1)

文件路径错误。

 StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("Images\\test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);

答案 1 :(得分:0)

我做到了以下几点:

Uri uri = new Uri("pack://application:,,,/SampleClassLibrary;Component/Images/test_cursor.cur");
StreamResourceInfo streamResource = Application.GetResourceStream(uri);

SampleClassLibrary是该解决方案下的类库项目的名称。

我不得不按原样制作Uri,因为.cur文件是类库下的Resource,并且在相同的解决方案下托管在其他项目中