ListView SelectionMode unter Windows
Unter Windows verwendet die .NET Multiplatform App UI (.NET MAUI) ListView standardmäßig das native ItemClick
-Ereignis, um auf Interaktionen zu reagieren, und nicht das native Tapped
-Ereignis. Dadurch wird die Barrierefreiheit hergestellt, so dass der Windows Narrator und die Tastatur mit dem ListView interagieren können. Allerdings werden dadurch auch alle Tippgesten innerhalb des ListView unbrauchbar.
Dieses Windows-plattformspezifische .NET MAUI steuert, ob Elemente in einem ListView auf Tippgesten reagieren können, und daher, ob das native ListView das ItemClick
oder Tapped
Ereignis auslöst. Sie wird in XAML verwendet, indem die an ListView.SelectionMode
angehängte Eigenschaft auf einen Wert der ListViewSelectionMode
-Enumeration gesetzt wird:
<ContentPage ...
xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Alternativ kann sie mit der Fluent-API von C# genutzt werden:
using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
...
listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
Die ListView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>
-Methode legt fest, dass diese plattformspezifische Anwendung nur unter Windows läuft. Die ListView.SetSelectionMode
-Methode im Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific
-Namespace wird verwendet, um zu steuern, ob Elemente in einer ListView auf Tippgesten reagieren können, wobei die ListViewSelectionMode
-Enumeration zwei mögliche Werte liefert:
Accessible
– zeigt an, dass die ListView das nativeItemClick
-Ereignis auslöst, um die Interaktion zu behandeln und somit die Barrierefreiheit zu gewährleisten. Daher können der Windows-Erzähler und die Tastatur mit der ListView interagieren. Die Elemente im ListView können jedoch nicht auf Tippgesten reagieren. Dies ist das Standardverhalten für ListView-Objekte unter Windows.Inaccessible
– zeigt an, dass die ListView das nativeTapped
-Ereignis auslöst, um die Interaktion zu behandeln. Daher können Elemente im Bereich ListView auf Tippgesten reagieren. Es gibt jedoch keine Eingabehilfen, sodass der Windows-Narrator und die Tastatur nicht mit der ListView interagieren können.
Hinweis
Die Auswahlmodi Accessible
und Inaccessible
schließen sich gegenseitig aus, und Sie müssen sich für eine zugängliche ListView entscheiden oder eine ListView, die auf Tippgesten reagieren kann.
Darüber hinaus kann die GetSelectionMode
Methode verwendet werden, um den aktuellen ListViewSelectionMode
zurückzugeben.
Das Ergebnis ist, dass ein bestimmter ListViewSelectionMode
auf die ListView angewendet wird, der steuert, ob Elemente in der ListView auf Tippgesten reagieren können, und somit, ob die native ListView das Ereignis ItemClick
oder Tapped
auslöst.