嗯,我正在尝试找到一种方法使 Windows 光标不可见或更改其外观,但是
CoreWindow
是 null
。
var window = App.Current.MainPage.GetParentWindow().Handler.PlatformView as MauiWinUIWindow;
window.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 0);
如何更改 Net Maui 上 Windows 的外观?
您可以参考此案例:Maui 如何在 Windows 上将光标显示为指针?并下载项目:MauiCursor。在MainPage.xaml.cs中添加以下代码:
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnCounterClicked(object sender, EventArgs e)
{
Hover.IsVisible = true;
Hover.SetCustomCursor(CursorIcon.Wait, Hover.Handler?.MauiContext);
CursorBehavior.SetCursor(CounterBtn, CursorIcon.SizeAll);
}
//add this
protected override void OnHandlerChanged()
{
base.OnHandlerChanged();
this.SetCustomCursor(CursorIcon.IBeam, this.Handler?.MauiContext);
}
}
它可以将光标的外观更改为IBeam(用于文本选择的“I”形Windows光标)。我测试了一下,效果很好。
另外,如果你想自定义光标图标,可以参考:CoreCursor类/备注并修改这里。