Lenguaje de marcado de aplicaciones eXtensible (XAML)eXtensible Application Markup Language (XAML)

XAML es un lenguaje de marcado declarativo que puede utilizarse para definir las interfaces de usuario. La interfaz de usuario se define en un archivo XML utilizando la sintaxis XAML, mientras que el comportamiento de tiempo de ejecución se define en un archivo de código subyacente independiente.XAML is a declarative markup language that can be used to define user interfaces. The user interface is defined in an XML file using the XAML syntax, while runtime behavior is defined in a separate code-behind file.

Evolve 2016: Convertirse en un patrón de XAMLEvolve 2016: Becoming a XAML Master

XAML Basics (Conceptos básicos de XAML)XAML Basics

XAML permite a los desarrolladores definir interfaces de usuario en aplicaciones de Xamarin.Forms mediante marcado en lugar de código.XAML allows developers to define user interfaces in Xamarin.Forms applications using markup rather than code. XAML nunca es necesario en un programa de Xamarin.Forms, pero es dispone de herramientas y, a menudo es más coherente visualmente y más concisa que el código equivalente.XAML is never required in a Xamarin.Forms program but it is toolable, and is often more visually coherent and more succinct than equivalent code. XAML es especialmente adecuada para su uso con la arquitectura de aplicaciones populares de Model-View-ViewModel (MVVM): XAML define la vista que esté vinculada a ViewModel código a través de enlaces de datos basados en XAML.XAML is particularly well suited for use with the popular Model-View-ViewModel (MVVM) application architecture: XAML defines the View that is linked to ViewModel code through XAML-based data bindings.

Compilación de XAMLXAML Compilation

XAML se puede compilar de forma opcional directamente en lenguaje intermedio (IL) con el compilador XAML (XAMLC).XAML can be optionally compiled directly into intermediate language (IL) with the XAML compiler (XAMLC). En este artículo se describe cómo utilizar XAMLC y sus ventajas.This articles describes how to use XAMLC, and its benefits.

Controlador de vista previa de XAMLXAML Previewer

El controlador de vista previa de XAML anunció en Xamarin Evolve 2016 está disponible para las pruebas en el canal alfa.The XAML Previewer announced at Xamarin Evolve 2016 is available for testing in the Alpha channel.

Espacios de nombres XAMLXAML Namespaces

XAML usa la xmlns atributo XML para las declaraciones de espacio de nombres.XAML uses the xmlns XML attribute for namespace declarations. Este artículo presenta la sintaxis del espacio de nombres XAML y muestra cómo declarar un espacio de nombres XAML para tener acceso a un tipo.This article introduces the XAML namespace syntax, and demonstrates how to declare a XAML namespace to access a type.

Extensiones de marcado XAMLXAML Markup Extensions

XAML incluye las extensiones de marcado para establecer atributos en los valores u objetos más allá de lo que se puede expresar con cadenas simples.XAML includes markup extensions for setting attributes to values or objects beyond what can be expressed with simple strings. Estos incluyen que hacen referencia a constantes, campos y propiedades estáticas, los diccionarios de recursos y enlaces de datos.These include referencing constants, static properties and fields, resource dictionaries, and data bindings.

Modificadores de campoField Modifiers

El x:FieldModifier namespace (atributo) especifica el nivel de acceso para los campos generados para los elementos XAML con nombre.The x:FieldModifier namespace attribute specifies the access level for generated fields for named XAML elements.

Paso de argumentosPassing Arguments

XAML puede utilizarse para pasar argumentos a métodos de fábrica o constructores no predeterminados.XAML can be used to pass arguments to non-default constructors or to factory methods. En este artículo muestra cómo utilizar los atributos XAML que se pueden usar para pasar argumentos a los constructores para llamar a métodos de fábrica y para especificar el tipo de argumento genérico.This article demonstrates using the XAML attributes that can be used to pass arguments to constructors, to call factory methods, and to specify the type of a generic argument.

Propiedades enlazablesBindable Properties

En Xamarin.Forms, la funcionalidad de las propiedades de common language runtime (CLR) se extiende por las propiedades enlazables.In Xamarin.Forms, the functionality of common language runtime (CLR) properties is extended by bindable properties. Una propiedad enlazable es un tipo especial de propiedad, donde el valor de propiedad se realiza el seguimiento por el sistema de propiedades de Xamarin.Forms.A bindable property is a special type of property, where the property's value is tracked by the Xamarin.Forms property system. Este artículo proporciona una introducción a las propiedades enlazables y muestra cómo crear y consumirlos.This article provides an introduction to bindable properties, and demonstrates how to create and consume them.

Propiedades asociadasAttached Properties

Una propiedad adjunta es un tipo especial de propiedad enlazable, definido en una clase pero conectado a otros objetos y reconocible en XAML como un atributo que contiene una clase y un nombre de propiedad separados por un punto.An attached property is a special type of bindable property, defined in one class but attached to other objects, and recognizable in XAML as an attribute that contains a class and a property name separated by a period. Este artículo proporciona una introducción a las propiedades adjuntas y muestra cómo crear y consumirlos.This article provides an introduction to attached properties, and demonstrates how to create and consume them.

Diccionarios de recursosResource Dictionaries

Recursos XAML son definiciones de objetos que se pueden usar más de una vez.XAML resources are definitions of objects that can be used more than once. Un ResourceDictionary permite que los recursos definidos en una sola ubicación y volver a utilizarse en toda una aplicación de Xamarin.Forms.A ResourceDictionary allows resources to be defined in a single location, and re-used throughout a Xamarin.Forms application. En este artículo se muestra cómo crear y consumir un ResourceDictionaryy cómo combinar una ResourceDictionary a otro.This article demonstrates how to create and consume a ResourceDictionary, and how to merge one ResourceDictionary into another.