Marcas experimentales Xamarin.Forms

Cuando se implementa una nueva característica de Xamarin.Forms, a veces se coloca detrás de una marca experimental. Esto permite al equipo de ingeniería proporcionar nuevas características más rápidamente, a la vez que puede cambiar las API de características antes de pasar a una versión estable. Después, se quita la marca experimental una vez que la característica se mueve a una versión estable.

Xamarin.Forms incluye las siguientes marcas experimentales:

  • Shell_UWP_Experimental

El uso de la funcionalidad que está detrás de una marca experimental requiere habilitar la marca, o marcas, en la aplicación. Hay dos enfoques para habilitar marcas experimentales:

  • Habilitar la marca experimental en los proyectos de la plataforma.
  • Habilitar la marca experimental en la clase App.

Advertencia

El consumo de funcionalidad que está detrás de una marca experimental, sin habilitar la marca, dará como resultado que la aplicación inicie una excepción que indique qué marca debe estar habilitada.

Habilitación de marcas en proyectos de plataforma

El método Xamarin.Forms.Forms.SetFlags se puede usar para habilitar una marca experimental en los proyectos de plataforma:

Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");

El método SetFlags debe invocarse en la clase AppDelegate en iOS, en la clase MainActivity en Android y en la clase App en UWP.

Importante

La habilitación de una marca experimental en los proyectos de plataforma debe producirse antes de invocar el método Forms.Init.

El método Xamarin.Forms.Forms.SetFlags acepta un argumento de matriz string, lo que permite habilitar varias marcas experimentales en una sola llamada de método:

Xamarin.Forms.Forms.SetFlags(new string[] { "Shell_UWP_Experimental", "AnotherFeature_Experimental" });

Advertencia

Nunca llame al método SetFlags más de una vez, ya que las llamadas posteriores sobrescribirán el resultado de las llamadas anteriores.

Habilitación de marcas en la clase App

El método Device.SetFlags se puede usar para habilitar una marca experimental en la clase App del proyecto de código compartido:

Device.SetFlags(new string[]{ "Shell_UWP_Experimental" });

El método Device.SetFlags acepta un argumento IReadOnlyList<string>, lo que permite habilitar varias marcas experimentales en una sola llamada de método:

Device.SetFlags(new string[]{ "Shell_UWP_Experimental", "AnotherFeature_Experimental" });

Advertencia

Nunca llame al método SetFlags más de una vez, ya que las llamadas posteriores sobrescribirán el resultado de las llamadas anteriores.

marcas experimentales antiguas

En la tabla siguiente se enumeran las marcas experimentales para las características que ahora están en disponibilidad general y la versión de Xamarin.Forms en la que se quitó la marca experimental:

Marca Versión de Xamarin.Forms
AppTheme_Experimental 4.8
Brush_Experimental 5.0
CarouselView_Experimental 5.0
CollectionView_Experimental 4.3
DragAndDrop_Experimental 5.0
FastRenderers_Experimental 4.0
IndicatorView_Experimental 4.7
Markup_Experimental 5.0 (movido a Xamarin Community Toolkit)
MediaElement_Experimental 5.0 (movido a Xamarin Community Toolkit)
RadioButton_Experimental 5.0
Shapes_Experimental 5.0
Shell_Experimental 4.0
StateTriggers_Experimental 4.7
SwipeView_Experimental 5.0
Visual_Experimental 3,6