Bagikan melalui


Kunci Akses VisualElement di Windows

Tombol akses adalah pintasan keyboard yang meningkatkan kegunaan dan aksesibilitas aplikasi di Platform Windows Universal (UWP) dengan menyediakan cara intuitif bagi pengguna untuk dengan cepat menavigasi dan berinteraksi dengan UI aplikasi yang terlihat melalui keyboard alih-alih melalui sentuhan atau mouse. Mereka adalah kombinasi dari tombol Alt dan satu atau beberapa tombol alfanumerik, biasanya ditekan secara berurutan. Pintasan keyboard secara otomatis didukung untuk tombol akses yang menggunakan satu karakter alfanumerik.

Tips kunci akses adalah lencana mengambang yang ditampilkan di samping kontrol yang menyertakan kunci akses. Setiap tip kunci akses berisi kunci alfanumerik yang mengaktifkan kontrol terkait. Saat pengguna menekan tombol Alt, tips tombol akses ditampilkan.

Platform UWP ini khusus digunakan untuk menentukan kunci akses untuk VisualElement. Ini digunakan dalam XAML dengan mengatur VisualElement.AccessKey properti terlampir ke nilai alfanumerik, dan dengan secara opsional mengatur VisualElement.AccessKeyPlacement properti terlampir ke nilai AccessKeyPlacement enumerasi, VisualElement.AccessKeyHorizontalOffset properti terlampir ke double, dan VisualElement.AccessKeyVerticalOffset properti terlampir ke 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>

Atau, dapat dikonsumsi dari C# menggunakan API fasih:

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);
...

Metode VisualElement.On<Windows> menentukan bahwa khusus platform ini hanya akan berjalan pada Platform Windows Universal. Metode VisualElement.SetAccessKey , di Xamarin.Forms.PlatformConfiguration.WindowsSpecific namespace layanan, digunakan untuk mengatur nilai kunci akses untuk VisualElement. Metode ini VisualElement.SetAccessKeyPlacement , secara opsional menentukan posisi yang akan digunakan untuk menampilkan tip kunci akses, dengan AccessKeyPlacement enumerasi yang menyediakan kemungkinan nilai berikut:

  • Auto – menunjukkan bahwa penempatan tip kunci akses akan ditentukan oleh sistem operasi.
  • Top – menunjukkan bahwa tip kunci akses akan muncul di atas tepi VisualElementatas .
  • Bottom – menunjukkan bahwa tip kunci akses akan muncul di bawah tepi VisualElementbawah .
  • Right – menunjukkan bahwa ujung kunci akses akan muncul di sebelah kanan tepi VisualElementkanan .
  • Left – menunjukkan bahwa tip kunci akses akan muncul di sebelah kiri tepi VisualElementkiri .
  • Center – menunjukkan bahwa tip kunci akses akan muncul dilapisi di bagian VisualElementtengah .

Catatan

Biasanya, Auto penempatan tip kunci cukup, yang mencakup dukungan untuk antarmuka pengguna adaptif.

Metode VisualElement.SetAccessKeyHorizontalOffset dan VisualElement.SetAccessKeyVerticalOffset dapat digunakan untuk kontrol yang lebih terperinci dari lokasi tip kunci akses. Argumen ke SetAccessKeyHorizontalOffset metode menunjukkan seberapa jauh untuk memindahkan tip kunci akses ke kiri atau kanan, dan argumen ke SetAccessKeyVerticalOffset metode menunjukkan seberapa jauh untuk memindahkan tip kunci akses ke atas atau ke bawah.

Catatan

Offset tip kunci akses tidak dapat diatur saat penempatan kunci akses diatur Auto.

Selain itu, GetAccessKeymetode , GetAccessKeyPlacement, GetAccessKeyHorizontalOffset, dan GetAccessKeyVerticalOffset dapat digunakan untuk mengambil nilai kunci akses dan lokasinya.

Hasilnya adalah bahwa tips kunci akses dapat ditampilkan di samping instans apa pun VisualElement yang menentukan kunci akses, dengan menekan tombol Alt:

Kunci akses VisualElement khusus platform

Saat pengguna mengaktifkan tombol akses, dengan menekan tombol Alt diikuti oleh kunci akses, tindakan default untuk VisualElement akan dijalankan. Misalnya, saat pengguna mengaktifkan kunci akses pada Switch, tombol Switch akan diaktifkan. Saat pengguna mengaktifkan kunci akses pada Entry, mendapatkan Entry fokus. Saat pengguna mengaktifkan kunci akses pada Button, penanganan aktivitas untuk Clicked peristiwa dijalankan.

Peringatan

Secara default, ketika dialog modal ditampilkan kunci akses apa pun yang ditentukan di halaman di belakang dialog masih dapat diaktifkan. Namun, logika kustom dapat ditulis untuk menonaktifkan kunci akses dalam skenario ini. Ini dapat dicapai dengan menangani Dispatcher.AcceleratorKeyActivated peristiwa di MainPage kelas proyek UWP Anda, dan di penanganan aktivitas mengatur Handled properti argumen peristiwa ke true ketika dialog modal ditampilkan.

Untuk informasi selengkapnya tentang kunci akses, lihat Kunci akses.