Xamarin.Forms 実験フラグ
新しい Xamarin.Forms 機能が実装されると、実験フラグの後ろに配置されることがあります。 これにより、エンジニアリング チームは、安定したリリースに移行する前に機能 API を変更しながら、より迅速に新機能をユーザーに提供できます。 その後、機能が安定したリリースに移行すると、実験フラグが削除されます。
Xamarin.Forms には、次の実験フラグが含まれています。
Shell_UWP_Experimental
実験フラグの背後にある機能を使用するには、アプリケーションでフラグ (フラグ) を有効にする必要があります。 実験フラグを有効にするには、次の 2 つの方法があります。
- プラットフォーム プロジェクトで実験フラグを有効にします。
App
クラスで実験フラグを有効にします。
警告
フラグを有効にせずに実験フラグの背後にある機能を使用すると、アプリケーションで、有効にする必要があるフラグを示す例外がスローされます。
プラットフォーム プロジェクトでフラグを有効にする
この Xamarin.Forms.Forms.SetFlags
メソッドを使用して、プラットフォーム プロジェクトで実験フラグを有効にすることができます。
Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
SetFlags
メソッドは、iOS の AppDelegate
クラス、Android の MainActivity
クラス、および UWP の App
クラスで呼び出す必要があります。
重要
Forms.Init
メソッドが呼び出される前に、プラットフォーム プロジェクトで実験フラグを有効にする必要があります。
Xamarin.Forms.Forms.SetFlags
メソッドは、string
配列引数を受け取ります。これにより、1 つのメソッド呼び出しで複数の実験フラグを有効にすることができます。
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>
引数を受け取ります。これにより、1 つのメソッド呼び出しで複数の実験フラグを有効にすることができます。
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 Community Toolkit に移行しました) |
MediaElement_Experimental |
5.0 (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 |