다음을 통해 공유


Windows의 ListView SelectionMode

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

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

<ContentPage ...
             xmlns:windows="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;assembly=Microsoft.Maui.Controls">
    <StackLayout>
        <ListView ... windows:ListView.SelectionMode="Inaccessible">
            ...
        </ListView>
    </StackLayout>
</ContentPage>

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

using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
...

listView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);

이 메서드는 ListView.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows> 이 플랫폼별이 Windows에서만 실행되도록 지정합니다. 네임스페이스의 메서드 Microsoft.Maui.Controls.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 가 이벤트를 발생시키는지 여부를 제어하는 지정된 항목이 ItemClickTapped 적용됩니다.