Изменение курсора на собственное изображение курсора в качестве ресурса - PullRequest
0 голосов
/ 05 апреля 2019

Я пытался сделать мой курсор обычным курсором из файла .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 ]

1 голос
/ 05 апреля 2019

Неверный путь к файлу.

 StreamResourceInfo streamResource = Application.GetResourceStream(new Uri("Images\\test_cursor.cur", UriKind.Relative));
Cursor = new Cursor(streamResource.Stream);
0 голосов
/ 05 апреля 2019

Я получил его, работая следующим образом:

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

SampleClassLibrary - это имя проекта библиотеки классов в соответствии с решением.

Мне пришлось сделать Uri таким, каким он был, потому что файл .cur представляет собой Resource в библиотеке классов и размещается в другом проекте под тем же решением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...