語言

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
屬性
實作

備註

該值是透過將識別碼(DevicePlatform結構體值ToString())與各平台的值匹配Platform來解析,因此一個自訂後端若其平台字串與以下某個命名屬性(例如 GTK)相符,則在執行時能正確解析。 匹配是 大小寫區分 的(依 DevicePlatform 等式順序),因此識別碼必須完全符合屬性名稱的大小寫——後端報告 DevicePlatform.Create("gtk") (小寫)不符合屬性 GTK ,會落 Default入 。 請注意,編譯時優化SimplifyOnPlatformVisitor()目前僅/-macos-maccatalyst-ios//-android識別目標框架;其他所有目標框架(包含 -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>

建構函式

名稱 Description
OnPlatformExtension()

提供一個 XAML 標記擴充功能,根據應用程式執行的平台會回傳不同值。

屬性

名稱 Description
Android

取得或設定 Android 上的數值。

Converter

取得或設定轉換器,套用到平台特定的值。

ConverterParameter

取得或設定一個參數,要傳給轉換器。

Default

若沒有設定平台特定值,則會取得或設定預設值。

GTK

取得或設定要用在 GTK 上的數值。

iOS

取得或設定 iOS 上的數值。

MacCatalyst

取得或設定 Mac Catalyst 使用的數值。

macOS

取得或設定 macOS 上的值。

Tizen

取得或設定 Tizen 使用的數值。

UWP
已淘汰.

取得或設定 UWP 使用的數值。 請改用 WinUI。

WinUI

取得或設定要在 Windows 上使用的值(WinUI)。

WPF

取得或設定 WPF 上的值。

方法

名稱 Description
ProvideValue(IServiceProvider)

提供一個 XAML 標記擴充功能,根據應用程式執行的平台會回傳不同值。

適用於