Xamarin.Forms 实验性标志

实现新 Xamarin.Forms 功能后,它有时位于实验性标志后面。 此实验性标志使工程团队能够更快向你提供新功能,而且在推进到新的稳定版本之前仍能够更改功能 API。 然后,在功能迁移到稳定版本后将删除实验性标志。

Xamarin.Forms 包括以下实验性标志:

  • Shell_UWP_Experimental

使用实验性标志后面的功能要求在应用程序中启用一个或多个该标志。 有两种方法可启用实验性标志:

  • 在平台项目中启用实验性标志。
  • App 类中启用实验性标志。

警告

在不启用实验性标志的情况下使用其后面的功能会导致应用程序引发异常并指示需要启用哪个标志。

在平台项目中启用标志

Xamarin.Forms.Forms.SetFlags 方法可用于在平台项目中启用实验性标志:

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

应在 iOS 上的 AppDelegate 类、Android 上的 MainActivity 类和 UWP 上的 App 类中调用 SetFlags 方法。

重要

在调用 Forms.Init 方法之前,需要先在平台项目中启用实验性标志。

Xamarin.Forms.Forms.SetFlags 方法接受 string 数组参数,这可实现在一个方法调用中启用多个实验性标志:

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

警告

永远不要多次调用 SetFlags 方法,因为后续调用会覆盖之前的调用结果。

在 App 类中启用标志

Device.SetFlags 方法可用于在共享代码项目中的 App 类中启用实验性标志:

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

Device.SetFlags 方法接受 IReadOnlyList<string> 参数,这可实现在一个方法调用中启用多个实验性标志:

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

警告

永远不要多次调用 SetFlags 方法,因为后续调用会覆盖之前的调用结果。

旧版实验性标志

下表列出了现已正式发布的功能的实验性标志,以及已删除实验性标志的 Xamarin.Forms 版本:

标记 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 (已移至 Xamarin 社区工具包)
MediaElement_Experimental 5.0 (已移至 Xamarin 社区工具包)
RadioButton_Experimental 5.0
Shapes_Experimental 5.0
Shell_Experimental 4.0
StateTriggers_Experimental 4.7
SwipeView_Experimental 5.0
Visual_Experimental 3.6