【问题标题】:Hide cursor or have custom cursor in Windows 8 Metro在 Windows 8 Metro 中隐藏光标或自定义光标
【发布时间】:2012-02-27 18:14:23
【问题描述】:

我想知道是否有办法在 Windows 8 Metro 模式下隐藏光标。我发现 this answer,但是我不知道如何获取 游标构造函数的第二个参数的“唯一资源 id”(如下)。

Window.Current.CoreWindow.PointerCursor = 
                new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Custom, 1);

编辑:忘了提到我需要正常处理鼠标事件,所以将光标设置为 null 的答案 below 是不够的。

【问题讨论】:

    标签: microsoft-metro windows-runtime mouse-cursor


    【解决方案1】:

    将光标设置为自定义光标,但将其设为空白...这使您可以像普通光标一样跟踪它。

    【讨论】:

      【解决方案2】:

      您可以将 PointerCursor 对象设置为 NULL。只要您移过文本框之类的东西,它就会将其重置。因此,您可能需要处理各种控件上的鼠标悬停事件,以隐藏它。这一切都取决于您的完整场景。

      此外,在将其设置为 NULL 之前,您可以保存属性 (PointerCursor) 的值,然后在完成后将其设置回来。

      【讨论】:

      • 在问这个问题之前我已经尝试过了。我忘了说我需要像处理光标一样正常处理事件。这就是我尝试设置自定义透明光标的原因。不过感谢您的回复。
      • 当然,很高兴为您提供帮助。您能否详细说明正常处理鼠标事件的含义?就我的建议而言,它仍然允许您处理事件,我只是说您必须另外处理,例如在文本框中,“PointerEntered”,然后再次将光标设置为 null 或类似的东西那。您是否正在寻找无需处理任何未来事件的更具全局性和持久性的东西?
      • 在我将 PointerCursor 对象设置为 NULL 后,我只能接收按下和释放事件,但不能接收 PointerMoved 事件(我需要)。我认为将光标设置为 null 与其说是解决方案,不如说是一种技巧。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2013-09-16
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多