Sdílet prostřednictvím


ListView SelectionMode ve Windows

Ve výchozím nastavení Xamarin.FormsListView Univerzální platforma Windows používá nativní ItemClick událost k reakci na interakci, nikoli na nativní Tapped událost. Tato funkce poskytuje funkce přístupnosti, aby program Předčítání systému Windows a klávesnice mohly pracovat s aplikací ListView. Vykreslí ale také všechna gesta klepnutí uvnitř ListView neoperabilní.

Tato Univerzální platforma Windows ovládací prvky specifické pro platformuListView, jestli položky v sadě můžou reagovat na gesta klepnutí, a proto jestli nativní ListView aktivuje ItemClick událost nebo Tapped událost. Využívá se v XAML nastavením ListView.SelectionMode připojené vlastnosti na hodnotu výčtu ListViewSelectionMode :

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <ListView ... windows:ListView.SelectionMode="Inaccessible">
            ...
        </ListView>
    </StackLayout>
</ContentPage>

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);

Metoda ListView.On<Windows> určuje, že tato konkrétní platforma se bude spouštět pouze na Univerzální platforma Windows. Metoda ListView.SetSelectionMode v Xamarin.Forms.PlatformConfiguration.WindowsSpecific oboru názvů slouží k řízení, zda položky v ListView můžou reagovat na gesta klepnutí, s výčtem ListViewSelectionMode poskytující dvě možné hodnoty:

  • Accessible – označuje, že ListView se aktivuje nativní ItemClick událost pro zpracování interakce, a proto poskytuje funkce přístupnosti. Proto může program Předčítání systému Windows a klávesnice interagovat s aplikací ListView. Na gesta klepnutí ale nemůžou reagovat položky v dané oblasti ListView . Toto je výchozí chování instancí ListView v Univerzální platforma Windows.
  • Inaccessible – označuje, že se ListView aktivuje nativní Tapped událost pro zpracování interakce. Proto mohou položky v sadě ListView reagovat na gesta klepnutím. Funkce přístupnosti ale není k dispozici, a proto program Předčítání ve Windows a klávesnice nemůžou s ním ListViewpracovat .

Poznámka:

Režimy Accessible výběru se Inaccessible vzájemně vylučují a budete si muset vybrat mezi přístupným ListView režimem nebo ListView režimem, který může reagovat na gesta klepnutí.

Kromě toho lze metodu GetSelectionMode použít k vrácení aktuální ListViewSelectionMode.

Výsledkem je, že se zadaný ListViewSelectionMode parametr použije na ListView, který určuje, jestli položky v ListView sadě můžou reagovat na gesta klepnutí, a proto jestli nativní ListView aktivuje ItemClick událost nebo Tapped událost.