Windows 上的 VisualElement 访问键
访问键是键盘快捷方式,它为用户提供了一种直观的方式,通过键盘(而不是通过触摸或鼠标)快速导航并与应用的可视 UI 进行交互,从而提高 Windows 上应用的可用性和可访问性。 它们是 Alt 键和一个或多个字母数字键的组合,通常按顺序按下。 使用单个字母数字字符的访问键会自动支持键盘快捷方式。
访问键提示是在包含访问键的控件旁边显示的浮动锁屏提醒。 每个访问键提示都包含激活关联控件的字母数字键。 当用户按 Alt 键时,将显示访问键提示。
此 .NET Multi-platform App UI (.NET MAUI) Windows 平台特定内容用于指定 VisualElement 的访问键。 通过将 VisualElement.AccessKey
附加属性设置为字母数字值,还可以选择将 VisualElement.AccessKeyPlacement
附加属性设置为 AccessKeyPlacement
枚举的值、将 VisualElement.AccessKeyHorizontalOffset
附加属性设置为 double
以及将 VisualElement.AccessKeyVerticalOffset
附加属性设置为 double
以在 XAML 中使用它:
<TabbedPage ...
xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls">
<ContentPage Title="Page 1"
windows:VisualElement.AccessKey="1">
<StackLayout>
...
<Switch windows:VisualElement.AccessKey="A" />
<Entry Placeholder="Enter text here"
windows:VisualElement.AccessKey="B" />
...
<Button Text="Access key F, placement top with offsets"
Clicked="OnButtonClicked"
windows:VisualElement.AccessKey="F"
windows:VisualElement.AccessKeyPlacement="Top"
windows:VisualElement.AccessKeyHorizontalOffset="20"
windows:VisualElement.AccessKeyVerticalOffset="20" />
...
</StackLayout>
</ContentPage>
...
</TabbedPage>
或者,可以使用 Fluent API 在 C# 中使用它:
using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
...
var page = new ContentPage { Title = "Page 1" };
page.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("1");
var switchView = new Switch();
switchView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("A");
var entry = new Entry { Placeholder = "Enter text here" };
entry.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetAccessKey("B");
...
var button4 = new Button { Text = "Access key F, placement top with offsets" };
button4.Clicked += OnButtonClicked;
button4.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>()
.SetAccessKey("F")
.SetAccessKeyPlacement(AccessKeyPlacement.Top)
.SetAccessKeyHorizontalOffset(20)
.SetAccessKeyVerticalOffset(20);
...
VisualElement.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>
方法指定此平台特定内容仅在 Windows 上运行。 Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific
命名空间中的 VisualElement.SetAccessKey
方法用于设置 VisualElement 的访问键值。 VisualElement.SetAccessKeyPlacement
方法(可选)指定用于显示访问键提示的位置,AccessKeyPlacement
枚举提供以下可能的值:
Auto
– 指示访问键提示位置将由操作系统确定。Top
– 指示访问键提示将位于 VisualElement 的上边缘之上。Bottom
– 指示访问键提示将位于 VisualElement 的下边缘之下。Right
– 指示访问键提示将位于 VisualElement 的右边缘右侧。Left
– 指示访问键提示将位于 VisualElement 的左边缘左侧。Center
– 指示访问键提示将覆盖在 VisualElement 的中心位置。
注意
通常,Auto
键提示位置就足够了,其中包括对自适应用户界面的支持。
VisualElement.SetAccessKeyHorizontalOffset
和 VisualElement.SetAccessKeyVerticalOffset
方法可用于更精细地控制访问键提示位置。 SetAccessKeyHorizontalOffset
方法的参数指示向左或向右移动访问键提示的距离,SetAccessKeyVerticalOffset
方法的参数指示向上或向下移动访问键提示的距离。
注意
设置 Auto
访问键位置时,无法设置访问键提示偏移量。
此外,可以使用 GetAccessKey
、GetAccessKeyPlacement
、GetAccessKeyHorizontalOffset
和 GetAccessKeyVerticalOffset
方法检索访问键值及其位置。
结果是,通过按 Alt 键,可以在定义访问键的任何 VisualElement 实例旁边显示访问键提示:
当用户激活访问键时,通过按 Alt 键,然后按访问键,将执行 VisualElement 的默认操作。 例如,当用户在 Switch 上激活访问键时,将切换 Switch。 当用户在 Entry 上激活访问键时,Entry 将获得焦点。 当用户在 Button 上激活访问键时,将执行 Clicked
事件的事件处理程序。
有关访问键的详细信息,请参阅访问键。