2012-01-28 3 views
1

Я пытаюсь получить пользовательский курсор для моего приложения WPF. У меня уже есть файл .cur в Ресурсах. В XAML, я упомянул словарь ресурса что-то вроде этого:Пользовательский курсор для всего приложения WPF

<Window.Resources> 
     <ResourceDictionary> 
      <FrameworkElement x:Key="KinectCursor" Cursor="Resources/KinectCursor.cur"/> 
      <FrameworkElement x:Key="KinectCursor16" Cursor="Resources/KinectCursor16.cur"/> 
     </ResourceDictionary> 
    </Window.Resources> 

В отделенном коде, я попытался множество свойства Mouse.OverrdeCursor к этому курсору, но он бросает исключения.

private void Window_Loaded(object sender, RoutedEventArgs e) 
     { 
      //Mouse.OverrideCursor = this.Resources["KinectCursor"].Cursor; 
      Mouse.OverrideCursor = ((FrameworkElement)this.Resources["KinectCursor"]).Cursor; 
      //DisplayArea.Cursor = Cursors.Hand; 
     } 

EDIT-- Сообщение исключения: XAMLParseException произошло. «Предоставить значение« System.Windows.Baml2006.TypeConverterMarkupExtension »выбрасывает исключение». Номер линии «7» и позиция линии «14».

Любые реплики, пожалуйста?

+0

Каково сообщение об исключении? – nemesv

+0

@nemesv: отредактировано сообщение – Cipher

ответ

2

Эта ошибка возникает иногда, если вы передаете неправильный относительный путь значка. Попробуйте сделать это следующим образом:

... 
<FrameworkElement x:Key="KinectCursor" Cursor="pack://application:,,,/(AssemblyName);component/Resources/KinectCursor.cur"/> 
... 
Смежные вопросы