OnPlatformExtension Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una extensión de marcado XAML que devuelve valores diferentes en función de la plataforma en la que se ejecuta la aplicación.
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
- Herencia
-
OnPlatformExtension
- Atributos
- Implementaciones
Comentarios
El valor se resuelve mediante la coincidencia del Platform identificador (el DevicePlatform valor del ToString() struct) con los valores por plataforma, por lo que un back-end personalizado cuya cadena de plataforma coincide con una de las propiedades con nombre siguientes (por ejemplo GTK) se resuelve correctamente en tiempo de ejecución. La coincidencia distingue mayúsculas de minúsculas (ordinal, por DevicePlatform igualdad), por lo que el identificador debe coincidir exactamente con el uso de mayúsculas y minúsculas del nombre de propiedad; un informe DevicePlatform.Create("gtk") de back-end (en minúsculas) no coincide con la GTK propiedad y pasa a Default. Tenga en cuenta que la optimización en tiempo de compilación (SimplifyOnPlatformVisitor) actualmente solo reconoce los/-macos-maccatalyst-ios//-android marcos de destino; todos los demás marcos de destino (incluidos -windows y -tizen) y cualquier back-end personalizado vuelve a la resolución en tiempo de ejecución.
Dado que una extensión de marcado XAML asigna cada argumento con nombre a una propiedad CLR, el formulario insertado {OnPlatform iOS=…, Android=…} solo puede expresar las plataformas expuestas como propiedades aquí. Para dirigirse a una plataforma personalizada arbitraria (por ejemplo, un informe DevicePlatform.Create("Web")de back-end), use el formulario de elemento , que acepta cualquier cadena de plataforma:
<OnPlatform x:TypeArguments="x:String">
<On Platform="Web" Value="…" />
<On Platform="iOS, Android" Value="…" />
</OnPlatform>
Constructores
| Nombre | Description |
|---|---|
| OnPlatformExtension() |
Proporciona una extensión de marcado XAML que devuelve valores diferentes en función de la plataforma en la que se ejecuta la aplicación. |
Propiedades
| Nombre | Description |
|---|---|
| Android |
Obtiene o establece el valor que se va a usar en Android. |
| Converter |
Obtiene o establece un convertidor que se va a aplicar al valor específico de la plataforma. |
| ConverterParameter |
Obtiene o establece un parámetro que se va a pasar al convertidor. |
| Default |
Obtiene o establece el valor predeterminado que se va a usar si no se establece ningún valor específico de la plataforma. |
| GTK |
Obtiene o establece el valor que se va a usar en GTK. |
| iOS |
Obtiene o establece el valor que se va a usar en iOS. |
| MacCatalyst |
Obtiene o establece el valor que se va a usar en Mac Catalyst. |
| macOS |
Obtiene o establece el valor que se va a usar en macOS. |
| Tizen |
Obtiene o establece el valor que se va a usar en Tizen. |
| UWP |
Obsoletos.
Obtiene o establece el valor que se va a usar en UWP. En su lugar, use WinUI. |
| WinUI |
Obtiene o establece el valor que se va a usar en Windows (WinUI). |
| WPF |
Obtiene o establece el valor que se va a usar en WPF. |
Métodos
| Nombre | Description |
|---|---|
| ProvideValue(IServiceProvider) |
Proporciona una extensión de marcado XAML que devuelve valores diferentes en función de la plataforma en la que se ejecuta la aplicación. |