我不确定在.NET MAUI中是否可能实现。有人找到了检测按键(包括特殊键)的解决方案吗?
我不确定在.NET MAUI中是否可能实现。有人找到了检测按键(包括特殊键)的解决方案吗?
KeyboardAccelerator
添加到 MenuFlyoutItem
的 KeyboardAccelerators
集合中来附加键盘加速器。ContentPage.MenuBarItems
中。<!-- MainPage.xaml -->
<ContentPage>
<ContentPage.MenuBarItems>
<MenuBarItem Text="File">
<MenuFlyoutItem Text="Down" Clicked="MenuFlyoutItem_Clicked">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Down" />
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Up" Clicked="MenuFlyoutItem_Clicked">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Up" />
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Left" Clicked="MenuFlyoutItem_Clicked">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Left" />
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Right" Clicked="MenuFlyoutItem_Clicked">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Right" />
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
</MenuBarItem>
</ContentPage.MenuBarItems>
</ContentPage>
// MainPage.xaml.cs
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void MenuFlyoutItem_Clicked(object sender, EventArgs e)
{
Debug.WriteLine($"MenuFlyoutItem {((MenuFlyoutItem)sender).Text} clicked");
}
}
https://learn.microsoft.com/en-us/dotnet/maui/user-interface/keyboard-accelerators?view=net-maui-8.0