Изменение указателя мыши в приложении UWP

можно ли изменить или даже скрыть указатель мыши в приложении UWP? Единственное, что я могу найти это :

окна.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.код XAML.Окно.Текущий.Для corewindow.PointerCursor = null;

но в UWP, это не работает.

3 ответов


Да это можно сделать с помощью настроек Window.Current.CoreWindow.PointerCursor. Если задать значение null, указатель будет скрыт. В противном случае вы можете использовать CoreCursorType перечисление, чтобы установить определенную системную точку. Например, используйте это, чтобы установить тип стрелки:

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

вы также можете добавлять пользовательские указатели с помощью файла ресурсов. Для деталей, см. этот blogpost.


нет это невозможно скрыть курсор, но вы можете использовать другие значки, такие как:

  • стрелка
  • стрелка
  • крест
  • таможни
  • стрелка
  • помогите
  • IBeam

используйте кнопку xaml и добавьте 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);
    }

установите пакет NuGet Microsoft.Набор инструментов.Для UWP.UI С Инструментарий Сообщества Windows.

после этого вы можете использовать следующее код:

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

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