在UWP应用程序中更改鼠标指针

JKo*_*ing 10 mouse-pointer uwp

是否可以在UWP应用程序中更改甚至隐藏鼠标指针?我唯一能找到的是:

Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor = null;

但在UWP中,这不起作用.

Irf*_*fan 15

不,这是不可能隐藏光标,但你可以使用另一个图标,如:

  • 箭头
  • 交叉
  • 习惯
  • 救命
  • 工字梁

使用xaml Button并PointerEntered在Button Control中添加事件,如:

<Button Name="button"  BorderThickness="2" PointerEntered="button_PointerEntered"  PointerExited="button_PointerExited">Button</Button>
Run Code Online (Sandbox Code Playgroud)

和c#代码:

 private void button_PointerEntered(object sender, PointerRoutedEventArgs e)
    {
        Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 1);
    }
    private void button_PointerExited(object sender, PointerRoutedEventArgs e)
    {
        Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 1);
    }
Run Code Online (Sandbox Code Playgroud)


小智 11

是的,这可以通过设置来完成 Window.Current.CoreWindow.PointerCursor.如果将其设置为null,则隐藏指针.否则,您可以使用CoreCursorType枚举来设置特定的系统点.例如,使用它来设置箭头类型:

Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 0);
Run Code Online (Sandbox Code Playgroud)

您还可以使用资源文件添加自定义指针.有关详细信息,请参阅此博文.


use*_*343 7

Windows社区工具包安装NuGet软件包Microsoft.Toolkit.Uwp.UI

之后,您可以使用以下代码

<Page ...
 xmlns:extensions="using:Microsoft.Toolkit.Uwp.UI.Extensions">

<UIElement extensions:Mouse.Cursor="Hand"/>
Run Code Online (Sandbox Code Playgroud)