ListView SelectionMode unter Windows
Im Universelle Windows-Plattform wird standardmäßig das Xamarin.FormsListView
systemeigene ItemClick
Ereignis verwendet, um auf Interaktionen zu reagieren, anstatt auf das systemeigene Tapped
Ereignis. Dadurch wird die Barrierefreiheit hergestellt, sodass die Windows-Sprachausgabe und die Tastatur mit dem ListView
interagieren können. Allerdings werden dadurch auch alle Tippgesten innerhalb des ListView
funktionslos.
Diese Universelle Windows-Plattform plattformspezifischen Steuerelemente, ob Elemente in einer ListView
App auf Tippgesten reagieren können und ob das systemeigene ListView
Ereignis ausgelöst ItemClick
Tapped
wird. Sie wird in XAML verwendet, indem sie die ListView.SelectionMode
angefügte Eigenschaft auf einen Wert der ListViewSelectionMode
Aufzählung festlegt:
<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 mit der Fluent-API von C# 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 Tippgesten reagieren können, wobei die ListViewSelectionMode
-Enumeration zwei mögliche Werte liefert:
Accessible
- zeigt an, dass dasListView
das nativeItemClick
-Ereignis auslöst, um die Interaktion zu behandeln und somit die Barrierefreiheit zu gewährleisten. Daher können die Windows-Sprachausgabe und die Tastatur mit demListView
interagieren. Die Elemente in derListView
können jedoch nicht auf Tippgesten reagieren. Dies ist das Standardverhalten fürListView
Instanzen im Universelle Windows-Plattform.Inaccessible
- zeigt an, dass dasListView
das nativeTapped
-Ereignis auslöst, um die Interaktion zu behandeln. Daher können Elemente im BereichListView
auf Tippgesten reagieren. Es gibt jedoch keine Eingabehilfen, sodass die Windows-Sprachausgabe und die Tastatur nicht mit derListView
interagieren können.
Hinweis
Die Auswahlmodi Accessible
und Inaccessible
schließen sich gegenseitig aus, und Sie müssen sich für ein zugängliches ListView
oder ein ListView
entscheiden, das auf Tippgesten reagieren kann.
Darüber hinaus kann die Methode GetSelectionMode
verwendet werden, um den aktuellen ListViewSelectionMode
zurückzugeben.
Das Ergebnis ist, dass ein bestimmter ListViewSelectionMode
auf die ListView
angewendet wird, daser steuert, ob Elemente in der ListView
auf Tippgesten reagieren können, und somit, ob die native ListView
das Ereignis ItemClick
oder Tapped
auslöst.