Windows の ListView SelectionMode
ユニバーサル Windows プラットフォームでは、既定Xamarin.FormsListView
では、 はネイティブ イベントではなく、ネイティブ ItemClick
イベントを使用して対話にTapped
応答します。 これにより、Windows ナレーターとキーボードが を操作できるように、アクセシビリティ機能が提供されます ListView
。 ただし、操作不能な 内 ListView
のタップ ジェスチャもレンダリングされます。
このユニバーサル Windows プラットフォームプラットフォーム固有では、 内のListView
項目がタップ ジェスチャに応答できるかどうか、およびネイティブListView
が イベントまたは Tapped
イベントをItemClick
発生させるかどうかを制御します。 添付プロパティを 列挙体の値ListViewSelectionMode
にListView.SelectionMode
設定することで、XAML で使用されます。
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
または、fluent API を使用して C# から使用することもできます。
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
メソッドはListView.On<Windows>
、このプラットフォーム固有の がユニバーサル Windows プラットフォームでのみ実行されるように指定します。 名前空間の メソッドはListView.SetSelectionMode
、 内ListView
の項目がタップ ジェスチャに応答できるかどうかを制御するために使用され、列挙ではListViewSelectionMode
次の 2 つの可能な値が提供Xamarin.Forms.PlatformConfiguration.WindowsSpecific
されます。
Accessible
– は、相互作用を処理するためにネイティブItemClick
イベントを発生させ、アクセシビリティ機能を提供することをListView
示します。 そのため、Windows ナレーターとキーボードは とListView
対話できます。 ただし、 内のListView
項目はタップ ジェスチャに応答できません。 これは、ユニバーサル Windows プラットフォーム上のListView
インスタンスの既定の動作です。Inaccessible
– は、相互作用をListView
処理するためにネイティブTapped
イベントを起動することを示します。 したがって、 内の項目はListView
タップ ジェスチャに応答できます。 ただし、アクセシビリティ機能がないため、Windows ナレーターとキーボードは をListView
操作できません。
注意
と Inaccessible
のAccessible
選択モードは相互に排他的であり、タップ ジェスチャに応答できるアクセシビリティListView
の高い モードか、 ListView
のどちらかを選択する必要があります。
さらに、 メソッドを GetSelectionMode
使用して、現在 ListViewSelectionMode
の を返すことができます。
その結果、指定した ListViewSelectionMode
が にListView
適用されます。これにより、 内のListView
項目がタップ ジェスチャに応答できるかどうか、およびネイティブListView
が イベントまたは Tapped
イベントをItemClick
発生させるかどうかを制御します。