Windows'da ListView SelectionMode
Evrensel Windows Platformu varsayılan olarak Xamarin.FormsListView
yerel olay yerine etkileşime yanıt vermek için yerel Tapped
olayı kullanırItemClick
. Bu, Windows Ekran Okuyucusu ve klavyenin ile ListView
etkileşim kurabilmesi için erişilebilirlik işlevselliği sağlar. Bununla birlikte, çalışamaz içindeki ListView
tüm dokunma hareketlerini de işler.
Bu Evrensel Windows Platformu, bir ListView
içindeki öğelerin dokunma hareketlerine yanıt verip veremeyeceğini ve dolayısıyla yerel ListView
öğenin veya Tapped
olayını tetikleyip tetiklemeyeceğini ItemClick
denetler. Ekli özelliği sabit listesi değerine ListViewSelectionMode
ayarlayarak ListView.SelectionMode
XAML'de kullanılır:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
ListView.On<Windows>
yöntemi, platforma özgü bu uygulamanın yalnızca Evrensel Windows Platformu üzerinde çalışacağını belirtir. ListView.SetSelectionMode
ad alanında Xamarin.Forms.PlatformConfiguration.WindowsSpecific
yöntemi, bir ListView
içindeki öğelerin dokunma hareketlerine ListViewSelectionMode
yanıt verip veremeyeceğini denetlemek için kullanılır ve numaralandırma iki olası değer sağlar:
Accessible
– etkileşimi işlemek için yerelItemClick
olayı tetiklediğini ve dolayısıyla erişilebilirlik işlevselliği sağlayacağını belirtirListView
. Bu nedenle, Windows Ekran Okuyucusu ve klavye ileListView
etkileşimde bulunabilir. Ancak içindeki öğelerListView
dokunma hareketlerine yanıt veremiyor. Bu, Evrensel Windows Platformu örnekleri içinListView
varsayılan davranıştır.Inaccessible
– etkileşimi işlemek için yerelTapped
olayı tetiklediğini gösterirListView
. Bu nedenle içindeki öğelerListView
dokunma hareketlerine yanıt verebilir. Ancak, erişilebilirlik işlevselliği yoktur ve bu nedenle Windows Ekran Okuyucusu ve klavye ileListView
etkileşim kuramaz.
Not
Accessible
ve Inaccessible
seçim modları birbirini dışlar ve dokunma hareketlerine yanıt verebilen erişilebilir ListView
veya ListView
bir arasında seçim yapmanız gerekir.
Ayrıca yöntemi geçerli GetSelectionMode
ListViewSelectionMode
değerini döndürmek için kullanılabilir.
Sonuç olarak, içindeki öğelerin ListView
dokunma hareketlerine ListView
yanıt verip veremeyeceğini ve dolayısıyla yerel ListView
öğenin veya Tapped
olayı tetikleyip tetiklemeyeceğini ItemClick
denetleyen öğesine belirtilen ListViewSelectionMode
bir uygulama uygulanır.