Compartir a través de


Tipos integrados para primitivos de lenguaje XAML comunes

XAML 2009 presenta compatibilidad de nivel de lenguaje XAML con varios tipos de datos que se usan con frecuencia en Common Language Runtime (CLR) y en otros lenguajes de programación. XAML 2009 agrega compatibilidad con estos primitivos: x:Object, x:Boolean, x:Char, x:String, x:Decimal, x:Single, x:Double, x:Int16, x:Int32, x:Int64, x:TimeSpan, x:Uri, x:Bytey x:Array

Técnicas anteriores para primitivos de lenguaje en marcado XAML

En XAML para versiones anteriores de WPF, podría hacer referencia a los primitivos del lenguaje CLR asignando el ensamblado y el espacio de nombres que contenían una clase de definición primitiva clR para .NET Framework. La mayoría de estos se encuentran en el ensamblado mscorlib y System espacio de nombres. Por ejemplo, para usar Int32, puede declarar la siguiente asignación (con un uso de ejemplo que se muestra después):

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Application.Resources>
    <sys:Int32 x:Key="intMeaning">42</sys:Int32>
  </Application.Resources>
</Application>

Primitivos del lenguaje XAML 2009

Por convención, se muestran los primitivos de lenguaje para XAML y todos los demás elementos del lenguaje XAML, incluido el prefijo x:. Este es el modo en que los elementos del lenguaje XAML se usan normalmente en el marcado real. Esta convención se sigue en la documentación conceptual de XAML en WPF y también en la especificación XAML.

x:Object

Para la copia de seguridad clR, el x:Object primitivo corresponde a Object.

Este primitivo no se usa normalmente en el marcado de la aplicación, pero puede ser útil para algunos escenarios, como comprobar la capacidad de asignación en un sistema de tipos XAML.

x:Boolean

Para la copia de seguridad clR, el x:Boolean primitivo corresponde a Boolean.

XAML analiza los valores de x:Boolean como no distingue mayúsculas de minúsculas. Tenga en cuenta que x:Bool no es una alternativa aceptada. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.17 y 7.4.11.

x:Char

Para la copia de seguridad clR, el x:Char primitivo corresponde a Char.

Los tipos de cadena y char tienen interacción con la codificación general del archivo en el nivel XML. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.7 y 7.4.1.

x:String

Para la copia de seguridad clR, el x:String primitivo corresponde a String.

Los tipos de cadena y char tienen interacción con la codificación general del archivo en el nivel XML. Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.6.

x:Decimal

Para la copia de seguridad clR, el x:Decimal primitivo corresponde a Decimal.

El análisis de XAML se realiza inherentemente en en-US referencia cultural. En en-US referencia cultural, el separador correcto para los componentes de un decimal es siempre un período (.) independientemente de la configuración de referencia cultural del entorno de desarrollo, o del destino de cliente final donde el XAML se carga en tiempo de ejecución.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.14 y 7.4.8.

x:Single

Para la copia de seguridad clR, el x:Single primitivo corresponde a Single.

Además de los valores numéricos, la sintaxis de texto para x:Single también permite los tokens Infinity, -Infinityy NaN. Estos tokens se tratan como distinguen mayúsculas de minúsculas.

x:Single puede admitir valores en formato de notación científica, si el primer carácter de la sintaxis de texto es e o E.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.8 y 7.4.2.

x:Double

Para la copia de seguridad clR, el x:Double primitivo corresponde a Double.

Además de los valores numéricos, la sintaxis de texto para x:Double permite los tokens Infinity, -Infinityy NaN. Estos tokens se tratan como distinguen mayúsculas de minúsculas.

x:Double pueden admitir valores en formato de notación científica. Use el e de caracteres o E para introducir la parte exponente.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.9 y 7.4.3.

x:Int16

Para la copia de seguridad CLR, el x:Int16 primitivo corresponde a Int16 y x:Int16 se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+) está implícita como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.11 y 7.4.5.

x:Int32

Para la copia de seguridad clR, el x:Int32 primitivo corresponde a Int32. x:Int32 se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+) está implícita como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.12 y 7.4.6.

x:Int64

Para la copia de seguridad clR, el x:Int64 primitivo corresponde a Int64. x:Int64 se trata como firmado. En XAML, la ausencia de una sintaxis de texto de inicio de sesión más (+) está implícita como un valor con signo positivo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.13 y 7.4.7.

x:TimeSpan

Para la copia de seguridad clR, el x:TimeSpan primitivo corresponde a TimeSpan.

El análisis de XAML para el formato de fecha y hora se realiza inherentemente en en-US referencia cultural.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.16 y 7.4.10.

x:Uri

Para la copia de seguridad clR, el x:Uri primitivo corresponde a Uri.

La comprobación de protocolos no forma parte de la definición de XAML para x:Uri.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.15 y 7.4.9.

x:Byte

Para la copia de seguridad clR, el x:Byte primitivo corresponde a Byte. Un Byte / x:Byte se trata como sin signo.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.10 y 7.4.4.

x:Array

Para la copia de seguridad clR, el x:Array primitivo corresponde a Array.

Puedes definir una matriz en XAML 2006 mediante una sintaxis de extensión de marcado; sin embargo, la sintaxis XAML 2009 es un primitivo definido por el lenguaje que no requiere acceso a una extensión de marcado. Para obtener más información sobre la compatibilidad con XAML 2006, consulta extensión de marcado x:Array.

Para obtener la definición de especificación del lenguaje XAML, consulta [MS-XAML] Secciones 7.2.18.

Compatibilidad con WPF

En WPF, puedes usar características xaml 2009, pero solo para XAML que no esté compilado con marcado. Xaml compilado con marcado para WPF y la forma BAML de XAML no admiten actualmente las palabras clave y características xaml 2009.

Un escenario en el que puedes usar características xaml 2009 junto con WPF es si creas XAML flexible y luego cargas ese XAML en un tiempo de ejecución de WPF y un grafo de objetos con XamlReader.Load. Los System.Windows.Markup.XamlReader de WPF y sus Load pueden procesar palabras clave y características del lenguaje XAML 2009 en una representación válida del gráfico de objetos.