ListView SelectionMode no Windows
No Plataforma Universal do Windows, por padrão, o usa o Xamarin.FormsListView
evento nativo ItemClick
para responder à interação, em vez do evento nativoTapped
. Isso fornece funcionalidade de acessibilidade para que o Narrador do Windows e o teclado possam interagir com o ListView
. No entanto, ele também renderiza qualquer gesto de toque dentro do ListView
inoperável.
Isso Plataforma Universal do Windows controles específicos da plataforma se os itens em um ListView
podem responder a gestos de toque e, portanto, se o nativo ListView
dispara o ItemClick
evento ou Tapped
. Ele é consumido em XAML definindo a ListView.SelectionMode
propriedade anexada como um valor da ListViewSelectionMode
enumeração :
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
O ListView.On<Windows>
método especifica que essa plataforma específica só será executada no Plataforma Universal do Windows. O ListView.SetSelectionMode
método, no Xamarin.Forms.PlatformConfiguration.WindowsSpecific
namespace , é usado para controlar se os itens em um ListView
podem responder a gestos de toque, com a ListViewSelectionMode
enumeração fornecendo dois valores possíveis:
Accessible
– indica que oListView
disparará o evento nativoItemClick
para lidar com a interação e, portanto, fornecerá funcionalidade de acessibilidade. Portanto, o Narrador do Windows e o teclado podem interagir com oListView
. No entanto, os itens noListView
não podem responder a gestos de toque. Esse é o comportamento padrão paraListView
instâncias no Plataforma Universal do Windows.Inaccessible
– indica que oListView
disparará o evento nativoTapped
para manipular a interação. Portanto, os itens noListView
podem responder a gestos de toque. No entanto, não há nenhuma funcionalidade de acessibilidade e, portanto, o Narrador do Windows e o teclado não podem interagir com oListView
.
Observação
Os Accessible
modos de seleção e Inaccessible
são mutuamente exclusivos e você precisará escolher entre um acessível ListView
ou um ListView
que possa responder a gestos de toque.
Além disso, o GetSelectionMode
método pode ser usado para retornar o atual ListViewSelectionMode
.
O resultado é que um especificado ListViewSelectionMode
é aplicado ao ListView
, que controla se os ListView
itens no podem responder a gestos de toque e, portanto, se o nativo ListView
dispara o ItemClick
evento ou Tapped
.