x:Code (Tipo XAML intrínseco)

Permite la colocación de código dentro de una producción XAML. Este código se puede, o bien compilar mediante cualquier implementación del procesador XAML que compile XAML, o bien dejar en la producción XAML para usos posteriores, como la interpretación por un tiempo de ejecución.

Uso de elementos de objeto XAML

<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>

Comentarios

El código dentro del elemento x:Code de directiva XAML todavía se interpreta dentro del espacio de nombres XML general y los espacios de nombres XAML proporcionados. Por lo tanto, normalmente es necesario incluir el código usado para x:Code dentro de un segmento CDATA.

x:Code no se permite para todos los mecanismos de implementación posibles de una producción XAML. En marcos específicos (por ejemplo, WPF), el código debe compilarse. En otros marcos el uso de x:Code podría no estar permitido en general.

En el caso de los marcos que permiten el contenido administrado x:Code, el compilador de lenguaje correcto que se debe usar para el contenido x:Code viene determinado por la configuración y los destinos del proyecto contenedor que se usa para compilar la aplicación.

Notas de uso de WPF

El código declarado en x:Code para WPF tiene varias limitaciones importantes:

  • El elemento x:Code de directiva debe ser un elemento secundario inmediato del elemento raíz de la producción XAML.

  • La directiva x:Class debe proporcionarse en el elemento raíz primario.

  • La compilación tratará el código colocado dentro de x:Code para que esté dentro del ámbito de la clase parcial que ya se está creando para esa página XAML. Por lo tanto, todo el código que defina debe contener miembros o variables de esa clase parcial.

  • No se pueden definir clases adicionales, salvo anidar una clase dentro de la clase parcial (se permite el anidamiento, pero no es habitual porque no se puede hacer referencia a clases anidadas en XAML). No se pueden definir ni agregar espacios de nombres CLR distintos del espacio de nombres que se usa para la clase parcial existente.

  • Las referencias a entidades de código fuera del espacio de nombres CLR de clase parcial deben estar completas. Si los miembros que se declaran son invalidaciones en los miembros reemplazables de clase parcial, debe especificarse con la palabra clave «override» específica del lenguaje. Si los miembros declarados en el ámbito x:Code entran en conflicto con los miembros de la clase parcial creada a partir del XAML, de modo que el compilador notifica el conflicto, el archivo XAML no se puede compilar ni cargar.

Vea también