Is it possible to change mouse pointer in UWP app
Solution 1:
Yes this can be done by settings the
Window.Current.CoreWindow.PointerCursor
. If you set it to null, the pointer is hidden. Otherwise you can use the CoreCursorType
enumeration to set a specific system point. For instance use this to set the Arrow type:
Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 0);
You can also add custom pointers by using a resource file. For details, see this blogpost.
Solution 2:
No this is not possible to hide cursor but you can use another icons like:
- Hand
- Arrow
- Cross
- Custom
- Hand
- Help
- IBeam
Use xaml Button and add PointerEntered
event inside Button Control like:
<Button Name="button" BorderThickness="2" PointerEntered="button_PointerEntered" PointerExited="button_PointerExited">Button</Button>
and c# code:
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);
}
Solution 3:
Install the NuGet Package Microsoft.Toolkit.Uwp.UI from the Windows Community Toolkit.
After doing so, you can use the following code:
<Page ...
xmlns:extensions="using:Microsoft.Toolkit.Uwp.UI.Extensions">
<UIElement extensions:Mouse.Cursor="Hand"/>
Solution 4:
You can hide the cursor in UWP (C++ example)
Windows::UI::Core::CoreWindow^ window = Windows::UI::Core::CoreWindow::GetForCurrentThread();
window->PointerPosition = Point(ScreenXMid, ScreenYMid);
window->PointerCursor = nullptr;