OnPlatformExtension Classe

Definizione

Fornisce un'estensione di markup XAML che restituisce valori diversi a seconda della piattaforma in cui è in esecuzione l'app.

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
Ereditarietà
OnPlatformExtension
Attributi
Implementazioni

Commenti

Il valore viene risolto associando l'identificatore Platform (valore DevicePlatform dello ToString() struct) ai valori per ogni piattaforma, quindi un back-end personalizzato la cui stringa di piattaforma corrisponde a una delle proprietà denominate seguenti (ad esempio GTK) viene risolta correttamente in fase di esecuzione. La corrispondenza fa distinzione tra maiuscole e minuscole (ordinale, per DevicePlatform uguaglianza), quindi l'identificatore deve corrispondere esattamente alla combinazione di maiuscole e minuscole del nome della proprietà. Un report DevicePlatform.Create("gtk") back-end (minuscolo) non corrisponde alla GTK proprietà e passa a Default. Si noti che l'ottimizzazione in fase di compilazione (SimplifyOnPlatformVisitor) attualmente riconosce solo i/-macos-maccatalyst-ios//-android framework di destinazione; ogni altro framework di destinazione (incluso -windows e -tizen) e qualsiasi back-end personalizzato esegue il fallback alla risoluzione di runtime.

Poiché un'estensione di markup XAML esegue il mapping di ogni argomento denominato a una proprietà CLR, il modulo inline {OnPlatform iOS=…, Android=…} può esprimere solo le piattaforme esposte come proprietà qui. Per impostare come destinazione una piattaforma personalizzata arbitraria ,ad esempio un report DevicePlatform.Create("Web")back-end , usare il modulo dell'elemento che accetta qualsiasi stringa di piattaforma:

<OnPlatform x:TypeArguments="x:String">
    <On Platform="Web" Value="…" />
    <On Platform="iOS, Android" Value="…" />
</OnPlatform>

Costruttori

Nome Descrizione
OnPlatformExtension()

Fornisce un'estensione di markup XAML che restituisce valori diversi a seconda della piattaforma in cui è in esecuzione l'app.

Proprietà

Nome Descrizione
Android

Ottiene o imposta il valore da utilizzare in Android.

Converter

Ottiene o imposta un convertitore da applicare al valore specifico della piattaforma.

ConverterParameter

Ottiene o imposta un parametro da passare al convertitore.

Default

Ottiene o imposta il valore predefinito da utilizzare se non è impostato alcun valore specifico della piattaforma.

GTK

Ottiene o imposta il valore da utilizzare su GTK.

iOS

Ottiene o imposta il valore da utilizzare in iOS.

MacCatalyst

Ottiene o imposta il valore da utilizzare in Mac Catalyst.

macOS

Ottiene o imposta il valore da utilizzare in macOS.

Tizen

Ottiene o imposta il valore da utilizzare in Tizen.

UWP
Obsoleti.

Ottiene o imposta il valore da usare in UWP. Utilizzare invece WinUI.

WinUI

Ottiene o imposta il valore da usare in Windows (WinUI).

WPF

Ottiene o imposta il valore da utilizzare in macchine virtuali Windows.

Metodi

Nome Descrizione
ProvideValue(IServiceProvider)

Fornisce un'estensione di markup XAML che restituisce valori diversi a seconda della piattaforma in cui è in esecuzione l'app.

Si applica a