如何检测在 .NET MAUI(KeyDown 事件处理程序)中按下任意键的时间

问题描述 投票:0回答:2

我不确定它在 .NET MAUI 中是否可行。有没有人找到检测按键(包括特殊键)的解决方案?

.net keypress maui onkeypress
2个回答
3
投票

此功能在毛伊岛无法立即使用,但适用于 Windows 和 Android。

对于 Android,你可以子类化 this。

对于 Windows,您可以使用 此库连接到本机键盘系统。


0
投票

键盘加速器位于 MAUI .NET 8 中。通过添加到

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

© www.soinside.com 2019 - 2024. All rights reserved.