Ключи доступа VisualElement в Windows
Клавиши доступа — это сочетания клавиш, которые повышают удобство использования и специальные возможности приложений на универсальная платформа Windows (UWP), предоставляя пользователям интуитивно понятный способ быстро перемещаться и взаимодействовать с видимым пользовательским интерфейсом приложения с помощью клавиатуры, а не с помощью сенсорного ввода или мыши. Они представляют собой сочетания клавиш ALT и одного или нескольких буквенно-цифровых клавиш, которые обычно нажимаются последовательно. Сочетания клавиш автоматически поддерживаются для ключей доступа, использующих один буквенно-цифровой символ.
Советы по ключу доступа отображаются рядом с элементами управления, включающими ключи доступа. Каждый совет ключа доступа содержит буквенно-цифровые ключи, которые активируют связанный элемент управления. Когда пользователь нажимает клавишу ALT, отображаются советы по ключу доступа.
Эта платформа UWP используется для указания ключа доступа для объекта VisualElement
. Он используется в XAML, задав присоединенное свойство буквенно-цифровым значением, а при необходимости присвоив VisualElement.AccessKey
VisualElement.AccessKeyPlacement
присоединенное свойство значению AccessKeyPlacement
перечисления, VisualElement.AccessKeyHorizontalOffset
присоединенное свойство a double
и VisualElement.AccessKeyVerticalOffset
присоединенное свойство:double
<TabbedPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<ContentPage Title="Page 1"
windows:VisualElement.AccessKey="1">
<StackLayout Margin="20">
...
<Switch windows:VisualElement.AccessKey="A" />
<Entry Placeholder="Enter text here"
windows:VisualElement.AccessKey="B" />
...
<Button Text="Access key F, placement top with offsets"
Margin="20"
Clicked="OnButtonClicked"
windows:VisualElement.AccessKey="F"
windows:VisualElement.AccessKeyPlacement="Top"
windows:VisualElement.AccessKeyHorizontalOffset="20"
windows:VisualElement.AccessKeyVerticalOffset="20" />
...
</StackLayout>
</ContentPage>
...
</TabbedPage>
Кроме того, его можно использовать из C# с помощью api fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
var page = new ContentPage { Title = "Page 1" };
page.On<Windows>().SetAccessKey("1");
var switchView = new Switch();
switchView.On<Windows>().SetAccessKey("A");
var entry = new Entry { Placeholder = "Enter text here" };
entry.On<Windows>().SetAccessKey("B");
...
var button4 = new Button { Text = "Access key F, placement top with offsets", Margin = new Thickness(20) };
button4.Clicked += OnButtonClicked;
button4.On<Windows>()
.SetAccessKey("F")
.SetAccessKeyPlacement(AccessKeyPlacement.Top)
.SetAccessKeyHorizontalOffset(20)
.SetAccessKeyVerticalOffset(20);
...
Метод VisualElement.On<Windows>
указывает, что эта платформа будет выполняться только в универсальная платформа Windows. Метод VisualElement.SetAccessKey
в Xamarin.Forms.PlatformConfiguration.WindowsSpecific
пространстве имен используется для задания значения ключа доступа для 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
методы можно использовать для получения значения ключа доступа и его расположения.
Результатом является то, что советы по ключу доступа можно отобразить рядом с любыми VisualElement
экземплярами, определяющими ключи доступа, нажав клавиши ALT:
Когда пользователь активирует ключ доступа, нажав клавишу ALT, за которой следует ключ доступа, будет выполнено действие по умолчанию.VisualElement
Например, когда пользователь активирует ключ доступа в объекте Switch
, Switch
он переключается. Когда пользователь активирует ключ доступа на объекте Entry
, Entry
фокус получается. Когда пользователь активирует ключ доступа в объекте Button
, обработчик событий для Clicked
события выполняется.
Предупреждение
По умолчанию при отображении модального диалогового окна все ключи доступа, определенные на странице под диалогом, все еще могут быть активированы. Однако пользовательская логика может быть записана, чтобы отключить ключи доступа в этом сценарии. Это можно достичь, обрабатывая Dispatcher.AcceleratorKeyActivated
событие в MainPage
классе проекта UWP, а в обработчике событий задается Handled
свойство аргументов события при true
отображении модального диалога.
Дополнительные сведения о ключах доступа см. в разделе "Ключи доступа".