OnPlatformExtension クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリが実行されているプラットフォームに応じて異なる値を返す XAML マークアップ拡張機能を提供します。
public ref class OnPlatformExtension : Microsoft::Maui::Controls::Xaml::IMarkupExtension
[Microsoft.Maui.Controls.ContentProperty("Default")]
[Microsoft.Maui.Controls.Xaml.RequireService(new System.Type[] { typeof(Microsoft.Maui.Controls.Xaml.IProvideValueTarget), typeof(Microsoft.Maui.Controls.Xaml.IValueConverterProvider), typeof(Microsoft.Maui.Controls.Xaml.IXmlLineInfoProvider), typeof(Microsoft.Maui.Controls.Xaml.IConverterOptions) })]
public class OnPlatformExtension : Microsoft.Maui.Controls.Xaml.IMarkupExtension
[Microsoft.Maui.Controls.ContentProperty("Default")]
public class OnPlatformExtension : Microsoft.Maui.Controls.Xaml.IMarkupExtension
[<Microsoft.Maui.Controls.ContentProperty("Default")>]
[<Microsoft.Maui.Controls.Xaml.RequireService(new System.Type[] { typeof(Microsoft.Maui.Controls.Xaml.IProvideValueTarget), typeof(Microsoft.Maui.Controls.Xaml.IValueConverterProvider), typeof(Microsoft.Maui.Controls.Xaml.IXmlLineInfoProvider), typeof(Microsoft.Maui.Controls.Xaml.IConverterOptions) })>]
type OnPlatformExtension = class
interface IMarkupExtension
[<Microsoft.Maui.Controls.ContentProperty("Default")>]
type OnPlatformExtension = class
interface IMarkupExtension
Public Class OnPlatformExtension
Implements IMarkupExtension
- 継承
-
OnPlatformExtension
- 属性
- 実装
注釈
値は、プラットフォームごとの値と Platform 識別子 ( DevicePlatform 構造体の ToString() 値) を照合することによって解決されるため、プラットフォーム文字列が以下の名前付きプロパティのいずれかに一致するカスタム バックエンド (たとえば、 GTK) は実行時に正しく解決されます。 一致は 大文字と小文字が区別 されます ( DevicePlatform の等価性に基づいた序数)、識別子はプロパティ名の大文字と小文字が正確に一致する必要があります。バックエンド レポート DevicePlatform.Create("gtk") (小文字) は GTK プロパティと一致せず、 Defaultに渡されます。 コンパイル時の最適化 (SimplifyOnPlatformVisitor) では、現在、 -android/-ios/-macos/-maccatalyst ターゲット フレームワークのみが認識されます。他のすべてのターゲット フレームワーク ( -windows と -tizenを含む) とカスタム バックエンドはランタイム解決にフォールバックします。
XAML マークアップ拡張機能は、各名前付き引数を CLR プロパティにマップするため、インライン {OnPlatform iOS=…, Android=…} フォームでは、ここで公開されているプラットフォームのみをプロパティとして表現できます。
任意のカスタム プラットフォーム (バックエンド レポート DevicePlatform.Create("Web")など) を対象にするには、任意のプラットフォーム文字列を受け入れる要素フォームを使用します。
<OnPlatform x:TypeArguments="x:String">
<On Platform="Web" Value="…" />
<On Platform="iOS, Android" Value="…" />
</OnPlatform>
コンストラクター
| 名前 | 説明 |
|---|---|
| OnPlatformExtension() |
アプリが実行されているプラットフォームに応じて異なる値を返す XAML マークアップ拡張機能を提供します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Android |
Android で使用する値を取得または設定します。 |
| Converter |
プラットフォーム固有の値に適用するコンバーターを取得または設定します。 |
| ConverterParameter |
コンバーターに渡すパラメーターを取得または設定します。 |
| Default |
プラットフォーム固有の値が設定されていない場合に使用する既定値を取得または設定します。 |
| GTK |
GTK で使用する値を取得または設定します。 |
| iOS |
iOS で使用する値を取得または設定します。 |
| MacCatalyst |
Mac Catalyst で使用する値を取得または設定します。 |
| macOS |
macOS で使用する値を取得または設定します。 |
| Tizen |
Tizen で使用する値を取得または設定します。 |
| UWP |
古い.
UWP で使用する値を取得または設定します。 WinUI を代わりに使用します。 |
| WinUI |
Windows (WinUI) で使用する値を取得または設定します。 |
| WPF |
WPFで使用する値を取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| ProvideValue(IServiceProvider) |
アプリが実行されているプラットフォームに応じて異なる値を返す XAML マークアップ拡張機能を提供します。 |