ListView SelectionMode en Windows
En la Plataforma Windows, de forma predeterminada usa el evento nativo para responder a la interacción, en lugar Xamarin.FormsListView del evento ItemClickTapped nativo. Esto proporciona funcionalidad de accesibilidad para que Windows narrador y el teclado puedan interactuar con ListView . Sin embargo, también representa los gestos de pulsar dentro ListView del elemento inoperable.
Esta plataforma Windows plataforma universal controla si los elementos de un objeto pueden responder a los gestos de pulsar y, por tanto, si el nativo ListViewListView desanima el ItemClick evento o Tapped . Se consume en XAML estableciendo la ListView.SelectionMode propiedad adjunta en un valor de la ListViewSelectionMode enumeración :
<ContentPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<ListView ... windows:ListView.SelectionMode="Inaccessible">
...
</ListView>
</StackLayout>
</ContentPage>
Como alternativa, se puede consumir desde C# mediante la API fluida:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
listView.On<Windows>().SetSelectionMode(ListViewSelectionMode.Inaccessible);
El método especifica que esta plataforma específica solo se ejecutará en la plataforma ListView.On<Windows> Windows universal. El método Xamarin_Forms _PlatformConfiguration_WindowsSpecific_ListView_SetSelectionMode_ Xamarin_Forms _IPlatformElementConfiguration_ Xamarin_Forms _PlatformConfiguration_Windows_ _ListView__ Xamarin_FormsXamarin_Forms _PlatformConfiguration_WindowsSpecific_ListViewSelectionMode_" data-linktype="absolute-path">, ListView.SetSelectionModeXamarin.Forms.PlatformConfiguration.WindowsSpecificListViewListViewSelectionMode en el espacio de nombres , se usa para controlar si los elementos de un objeto pueden responder a los gestos de pulsación, y la enumeración proporciona dos valores posibles:
- Xamarin_Forms _PlatformConfiguration_WindowsSpecific_ListViewSelectionMode_Accessible" data-linktype="absolute-path">: indica que se va a iniciar el evento nativo para controlar la interacción y, por tanto, se proporciona funcionalidad de
AccessibleListViewItemClickaccesibilidad. Por lo tanto, Windows narrador y el teclado pueden interactuar conListView. Sin embargo, los elementosListViewde no pueden responder a los gestos de pulsar. Este es el comportamiento predeterminado para las instancias de la plataformaListViewWindows universal. - Xamarin_Forms _PlatformConfiguration_WindowsSpecific_ListViewSelectionMode_Inaccessible" data-linktype="absolute-path">: indica que se va a iniciar el evento nativo para controlar la
InaccessibleListViewTappedinteracción. Por lo tanto, los elementosListViewde pueden responder a los gestos de pulsación. Sin embargo, no hay ninguna funcionalidad de accesibilidad y, por lo tanto, Windows Narrador y el teclado no pueden interactuar conListView.
Nota:
Los modos de selección y son mutuamente excluyentes, y deberá elegir entre un accesible o un que Accessible pueda responder a los InaccessibleListViewListView gestos de pulsación.
Además, el método Xamarin_Forms _PlatformConfiguration_WindowsSpecific_ListView_GetSelectionMode_ Xamarin_Forms _IPlatformElementConfiguration_ Xamarin_Forms _PlatformConfiguration_Windows_ Xamarin_Forms _ListView__" data-linktype="absolute-path">GetSelectionMode se ListViewSelectionMode puede usar para devolver el actual.
El resultado es que un especificado se aplica a , que controla si los elementos de pueden responder a los gestos de pulsación y, por tanto, si el nativo ListViewSelectionModeListViewListViewListView descime el ItemClick evento Tapped o .
Descarga del ejemplo