Udostępnij za pośrednictwem


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, że ListView zdarzenie natywne ItemClick 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 elementem ListView. Jednak elementy w obiekcie ListView nie mogą reagować na gesty naciśnięcia. Jest to domyślne zachowanie wystąpień ListView w platforma uniwersalna systemu Windows.
  • Inaccessible — wskazuje, że ListView wyzwolenie zdarzenia natywnego Tapped w celu obsługi interakcji. W związku z tym elementy w obiekcie ListView 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 programem ListView.

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 ListViewSelectionModeelementu .

Wynikiem jest zastosowanie określonego ListViewSelectionMode ListViewelementu 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 .