Поделиться через


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 событие.