ListView SelectionMode в Windows
По умолчанию Xamarin.FormsListView
в универсальная платформа Windows используется собственное ItemClick
событие для реагирования на взаимодействие, а не на собственное Tapped
событие. Это обеспечивает специальные возможности, чтобы экранный диктор Windows и клавиатура могли взаимодействовать с ним ListView
. Однако он также отрисовывает любые жесты касания внутри ListView
неработоспособного.
Это универсальная платформа Windows для конкретной платформы определяет, могут ли элементы в элементе ListView
реагировать на жесты касания, и, следовательно, вызывает ли собственный ListView
код ItemClick
Tapped
или событие. Он используется в XAML, задав ListView.SelectionMode
присоединенное свойство значение перечисления ListViewSelectionMode
:
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Кроме того, его можно использовать из C# с помощью api fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
Метод ListView.On<Windows>
указывает, что эта платформа будет выполняться только в универсальная платформа Windows. Метод ListView.SetSelectionMode
в Xamarin.Forms.PlatformConfiguration.WindowsSpecific
пространстве имен используется для управления тем, могут ли элементы в ListView
ответ на жесты касания, при ListViewSelectionMode
этом перечисление предоставляет два возможных значения:
Accessible
— указывает, чтоListView
будет запускать собственноеItemClick
событие для обработки взаимодействия и, следовательно, предоставляет функциональные возможности специальных возможностей. Поэтому экранный диктор Windows и клавиатура могут взаимодействовать сListView
ним. Однако элементы в элементеListView
не могут реагировать на жесты касания. Это поведение по умолчанию дляListView
экземпляров универсальная платформа Windows.Inaccessible
— указывает, чтоListView
вызовет собственноеTapped
событие для обработки взаимодействия. Таким образом, элементы в элементеListView
могут реагировать на жесты касания. Однако нет специальных возможностей, поэтому экранный диктор Windows и клавиатура не могут взаимодействовать с нимListView
.
Примечание.
Режимы Accessible
выбора являются взаимоисключающими, и вам потребуется выбрать между доступными ListView
или ListView
доступными, которые могут реагировать на жесты касания.Inaccessible
Кроме того, GetSelectionMode
метод можно использовать для возврата текущего ListViewSelectionMode
.
Результатом является то, что указанный ListViewSelectionMode
объект применяется к ListView
элементу, который определяет, могут ли элементы в ListView
них реагировать на жесты касания, и, следовательно, запускается ItemClick
ли собственный ListView
объект или Tapped
событие.