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

时间:2016-06-22 00:17:11

标签: uwp mouse-pointer

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

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

但是在UWP中,这不起作用。

4 个答案:

答案 0 :(得分:14)

不能隐藏光标,但您可以使用其他图标,如:

  • 箭头
  • 定制
  • 帮助
  • IBEAM

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

<Button Name="button"  BorderThickness="2" PointerEntered="button_PointerEntered"  PointerExited="button_PointerExited">Button</Button>

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

答案 1 :(得分:10)

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

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

您还可以使用资源文件添加自定义指针。有关详细信息,请see this blogpost

答案 2 :(得分:7)

Windows Community Toolkit安装NuGet软件包 Microsoft.Toolkit.Uwp.UI

这样做之后,您可以使用以下code

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

<UIElement extensions:Mouse.Cursor="Hand"/>

答案 3 :(得分:1)

您可以在UWP中隐藏光标(C ++示例)

            Windows::UI::Core::CoreWindow^ window = Windows::UI::Core::CoreWindow::GetForCurrentThread();
            window->PointerPosition = Point(ScreenXMid, ScreenYMid);
            window->PointerCursor = nullptr;