整个WPF应用程序的自定义光标

时间:2012-01-28 06:20:36

标签: c# wpf cursor

我正在尝试为我的WPF应用程序获取自定义光标。我已经在参考资料中有.cur文件了。在xaml中,我提到了类似的资源字典:

<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;
        }

编辑 - 异常消息: 发生了XAMLParseException。 '为'System.Windows.Baml2006.TypeConverterMarkupExtension'提供价值,引发了一个异常。行号'7'和行位置'14'。

有任何提示吗?

1 个答案:

答案 0 :(得分:2)

如果传递错误的相对图标路径,有时会发生此错误。试着这样做:

...
<FrameworkElement x:Key="KinectCursor" Cursor="pack://application:,,,/(AssemblyName);component/Resources/KinectCursor.cur"/>
...