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
- 屬性
- 實作
備註
該值是透過將識別碼(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 標記擴充功能,根據應用程式執行的平台會回傳不同值。 |