OnPlatformExtension Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |