다음을 통해 공유


Windows의 ListView SelectionMode

유니버설 Windows 플랫폼 기본적으로 Xamarin.FormsListView 네이티브 이벤트를 사용하여 네이티브 ItemClick Tapped 이벤트가 아닌 상호 작용에 응답합니다. Windows 내레이터와 키보드가 상호 작용할 ListView수 있도록 접근성 기능을 제공합니다. 그러나 작동하지 않는 내부 ListView 탭 제스처도 렌더링합니다.

이 유니버설 Windows 플랫폼 플랫폼별 컨트롤은 항목이 탭 제스처에 ListView 응답할 수 있는지 여부와 네이티브 ListView 가 이벤트를 발생 ItemClick Tapped 할지 여부를 제어합니다. 연결된 속성을 열거형 값으로 설정 ListView.SelectionMode 하여 XAML에서 ListViewSelectionMode 사용합니다.

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <ListView ... windows:ListView.SelectionMode="Inaccessible">
            ...
        </ListView>
    </StackLayout>
</ContentPage>

또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);

이 메서드는 ListView.On<Windows> 이 플랫폼별이 유니버설 Windows 플랫폼만 실행되도록 지정합니다. 네임스페이스의 메서드 Xamarin.Forms.PlatformConfiguration.WindowsSpecificListView.SetSelectionMode 열거형에서 ListView 두 개의 가능한 값을 제공하여 탭 제스처 ListViewSelectionMode 에 응답할 수 있는지 여부를 제어하는 데 사용됩니다.

  • Accessible – 네이 ListView 티브 ItemClick 이벤트를 실행하여 상호 작용을 처리하므로 접근성 기능을 제공했음을 나타냅니다. 따라서 Windows 내레이터와 키보드는 .와 상호 작용할 ListView수 있습니다. 그러나 탭 제스처의 항목은 ListView 응답할 수 없습니다. 이는 유니버설 Windows 플랫폼 인스턴스의 기본 동작 ListView 입니다.
  • Inaccessible – 상호 작용을 ListView 처리하기 위해 네이티브 Tapped 이벤트를 발생시키는 것을 나타냅니다. 따라서 탭 제스처에 ListView 응답할 수 있는 항목입니다. 그러나 접근성 기능이 없으므로 Windows 내레이터와 키보드가 상호 작용할 ListView수 없습니다.

참고 항목

Accessible 선택 모드와 Inaccessible 선택 모드는 함께 사용할 수 없으며 액세스 가능한 ListView 모드 또는 ListView 탭 제스처에 응답할 수 있는 모드 중에서 선택해야 합니다.

또한 메서드를 GetSelectionMode 사용하여 현재 ListViewSelectionMode를 반환할 수 있습니다.

그 결과 지정된 ListViewSelectionMode 항목이 탭 제스처에 ListView 응답할 ListView수 있는지 여부와 네이티브 ListView 가 이벤트를 발생시키는지 여부를 제어하는 지정된 항목이 ItemClick Tapped 적용됩니다.