OnPlatformExtension クラス

定義

アプリが実行されているプラットフォームに応じて異なる値を返す 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 マークアップ拡張機能を提供します。

適用対象