ListView SelectionMode unter Windows
Auf der Universelle Windows-Plattform verwendet standardmäßig das Xamarin.FormsListView
systemeigene ItemClick
Ereignis, um auf Interaktion zu reagieren, und nicht das native Tapped
Ereignis. Dies bietet Barrierefreiheitsfunktionen, sodass die Windows-Sprachausgabe und die Tastatur mit ListView
interagieren können. Es rendert jedoch auch alle Tippen-Gesten innerhalb des ListView
nicht funktionsfähigen.
Dies Universelle Windows-Plattform plattformspezifischen Steuerungen, ob Elemente in einem ListView
auf Tippen von Gesten reagieren können und ob das systemeigene ListView
Ereignis oder Tapped
ausgelöst ItemClick
wird. Es wird in XAML verwendet, indem die ListView.SelectionMode
angefügte Eigenschaft auf einen Wert der ListViewSelectionMode
Enumeration festgelegt wird:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Alternativ kann sie über C# mit der Fluent-API genutzt werden:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
Die ListView.On<Windows>
-Methode gibt an, dass diese plattformspezifische Nur auf dem Universelle Windows-Plattform ausgeführt wird. Die ListView.SetSelectionMode
-Methode im Xamarin.Forms.PlatformConfiguration.WindowsSpecific
Namespace wird verwendet, um zu steuern, ob Elemente in einem ListView
auf Tippen gesten reagieren können, wobei die ListViewSelectionMode
Enumeration zwei mögliche Werte bereitstellt:
Accessible
– gibt an, dass dasListView
nativeItemClick
Ereignis ausgelöst wird, um die Interaktion zu behandeln, und daher Barrierefreiheitsfunktionen bereitstellt. Daher können die Windows-Sprachausgabe und die Tastatur mitListView
interagieren. Elemente in derListView
können jedoch nicht reagieren, um auf Gesten zu tippen. Dies ist das Standardverhalten fürListView
Instanzen auf dem Universelle Windows-Plattform.Inaccessible
– gibt an, dass dasListView
nativeTapped
Ereignis ausgelöst wird, um die Interaktion zu behandeln. Daher können Elemente in derListView
auf Tippen gesten reagieren. Es gibt jedoch keine Barrierefreiheitsfunktionen, sodass die Windows-Sprachausgabe und die Tastatur nicht mitListView
interagieren können.
Hinweis
Die Accessible
Auswahlmodi und Inaccessible
schließen sich gegenseitig aus, und Sie müssen zwischen einer barrierefreien ListView
oder einer ListView
auswählen, die auf Tippen von Gesten reagieren kann.
Darüber hinaus kann die GetSelectionMode
-Methode verwendet werden, um den aktuellen ListViewSelectionMode
zurückzugeben.
Das Ergebnis ist, dass ein angegebenes ListViewSelectionMode
auf den ListView
angewendet wird, der steuert, ob Elemente in der ListView
auf Tippen gesten reagieren können, und daher, ob das systemeigene ListView
Ereignis oder Tapped
ausgelöst ItemClick
wird.