用于Windows应用商店的自定义光标

时间:2014-05-06 17:02:49

标签: c# windows-runtime windows-store-apps winrt-xaml

我想为Windows应用商店应用开发自定义光标。我按照this教程进行了操作,效果很好。问题是Windows只允许游标的大小为32x32,我需要一个更大的游标。

我还尝试了可用的WPF代码here,但我无法让Microsoft.Win32.SafeHandles在我的Store App项目上运行,所以它也无法正常工作......

所以我想到了一个透明的画布,它填满了所有的视觉元素。然后,我可以将鼠标光标设置为透明(已经完成),然后使图像跟随光标位置,从而替换光标。

此解决方案的问题在于,现在画布捕获所有指向事件,并且它们无法访问其下方的可视组件。我尝试将PointerRoutedEventArgs.Handled设置为false,但它不起作用。

有关如何解决此问题的任何想法,甚至是在Windows应用商店应用中拥有更大光标的其他解决方案?

1 个答案:

答案 0 :(得分:0)

我认为使用基于UIElement的游标的性能可能不够好,但如果你真的必须这样做 - 你应该

  1. 在画布上设置IsHitTestVisible="False"
  2. 处理来自Window.Current
  3. 的输入事件
  4. 使用RenderTransform移动光标而不是在光标元素上设置Canvas.Left/Canvas.Top以获得更好的性能。