ListView SelectionMode w systemie Windows
Na platforma uniwersalna systemu Windows domyślnie Xamarin.FormsListView
używa zdarzenia natywnego ItemClick
do reagowania na interakcję, a nie zdarzenia natywnegoTapped
. Zapewnia to funkcje ułatwień dostępu, dzięki czemu Narrator systemu Windows i klawiatura mogą wchodzić w interakcje z programem ListView
. Jednak renderuje również wszelkie gesty naciśnięcia wewnątrz ListView
nieobsługiwalnego.
To platforma uniwersalna systemu Windows specyficzne dla platformy określa, czy elementy w obiekcie ListView
mogą reagować na gesty naciśnięcia, a tym samym, czy natywne ListView
uruchamia ItemClick
zdarzenie lub Tapped
. Jest on używany w języku XAML przez ustawienie dołączonej ListView.SelectionMode
właściwości na wartość ListViewSelectionMode
wyliczenia:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
Metoda ListView.On<Windows>
określa, że ta platforma będzie działać tylko na platforma uniwersalna systemu Windows. Metoda ListView.SetSelectionMode
w Xamarin.Forms.PlatformConfiguration.WindowsSpecific
przestrzeni nazw służy do kontrolowania, czy elementy w obiekcie ListView
mogą reagować na gesty naciśnięcia, a ListViewSelectionMode
wyliczenie zapewnia dwie możliwe wartości:
Accessible
— wskazuje, żeListView
zdarzenie natywneItemClick
będzie uruchamiane w celu obsługi interakcji, a tym samym zapewnia funkcjonalność ułatwień dostępu. W związku z tym Narrator systemu Windows i klawiatura mogą wchodzić w interakcje z elementemListView
. Jednak elementy w obiekcieListView
nie mogą reagować na gesty naciśnięcia. Jest to domyślne zachowanie wystąpieńListView
w platforma uniwersalna systemu Windows.Inaccessible
— wskazuje, żeListView
wyzwolenie zdarzenia natywnegoTapped
w celu obsługi interakcji. W związku z tym elementy w obiekcieListView
mogą reagować na gesty naciśnięcia. Nie ma jednak funkcji ułatwień dostępu, dlatego Narrator systemu Windows i klawiatura nie mogą wchodzić w interakcje z programemListView
.
Uwaga
Tryby Accessible
wyboru i Inaccessible
są wzajemnie wykluczające się i należy wybrać między dostępnym ListView
lub, ListView
który może reagować na gesty naciśnięcia.
Ponadto można użyć metody w GetSelectionMode
celu zwrócenia bieżącego ListViewSelectionMode
elementu .
Wynikiem jest zastosowanie określonego ListViewSelectionMode
ListView
elementu do elementu , który kontroluje, czy elementy w obiekcie ListView
mogą reagować na gesty naciśnięcia, a tym samym, czy natywny ListView
wyzwala ItemClick
zdarzenie lub Tapped
.