Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME 2 “XAML”
y Fue desarrollado por Microsoft a partir del 2004, desde ese entonces podemos decir que, con
este lenguaje marcado, podríamos hacer grandes desarrollos con muy poco código ya que este
guarda ciertas similitudes con otros lenguajes de marcado ya sea HTML o AXML.
ya empezamos a conocer y tener un poco de conocimiento sobre el lenguaje C#, para el siguiente
caso veremos cómo crear una aplicación de escritorio usando WPF, UWP y la vista xaml en el
UWP (Windows Universal) con vista basado en XAML (lenguaje marcado extensible de
¿Qué es XAML?
XAML es un lenguaje de marcado desarrollado por Microsoft a partir de 2004. Guarda ciertas
similitudes con otros lenguajes de marcado, ya sea HTML o AXML Android, ya se fundamentan
Con XAML, y utilizando WPF, se pueden hacer grandes desarrollos con muy poco código.
Vamos a ver un ejemplo en el que haremos una pantalla de login de forma rápida: Con este
código nos aparece una pantalla de login dónde nos aparecen los bloques para introducir un
<Window x:Class=”WpfApp1.MainWindow”
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
xmlns:d=”http://schemas.microsoft.com/expression/blend/2008”
xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006”
xmlns:local=”clr-namespace:WpfApp1”
mc:Ignorable=”d”
Title=”MainWindow” Height=”450” Width=”800”>
<StackPanel VerticalAlignment=”Center”>
<Label Content=”Usuario”/>
<TextBlock/>
<Label Content=”Password”/>
<TextBlock/>
<Button Content=”Login” Height=”50”/>
<TextBlock/>
</StackPanel>
</Window>
Es este ejemplo creamos otro contenedor, damos un poco de margen lateral a los elementos de
finalmente utilizamos otro tipo de fuente diferente para las etiquetas de usuario y password.
Como podemos observar, con muy pocas líneas y en poco tiempo podemos hacer una pantalla
Controles
interacción. Los controles son los componentes básicos de la interfaz de usuario. Un patrón es
una receta para combinar varios controles para hacer algo nuevo.
Las vistas son objetos de interfaz de usuario, como etiquetas, botones y los controles
programación de gráficos. Las vistas compatibles con Xamarin.Forms todos se derivan los View
clase. A todas las vistas que se definen en Xamarin. Forms se puede hacer referencia desde
Namespaces
para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquico.
XAML, verá que normalmente hay dos declaraciones de espacio de nombres XML. La primera
declaración asigna el espacio de nombres global de cliente / framework WPF XAML como
predeterminado:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
La
segunda
x:prefijo.
xmlns:x="http://schemas.microsoft.com/winfx/2006/
xaml"
En WPF / XAML, tiene un espacio de nombres xmlns = http: //… que es el espacio de
nombres para los controles que WPF le ofrece de forma predeterminada. xmlns: x es un espacio
de nombres para proporcionar algunos valores especiales como x: Null para representar un valor
nulo.
También puede definir sus propios controles y nombrarlos TextBox, pero debe crear un
espacio de nombres propio para que no interfieran con el espacio de nombres global.
Las URL mencionadas en las definiciones de los espacios de nombres no tienen nada que ver
con la conexión real a Internet o las URL existentes reales, esto es solo, los espacios de nombres
Un ejemplo sería una instancia XML que contuviera referencias a un cliente y a un producto
solicitado por éste. Tanto el elemento que representa el cliente como el que representa el
producto pueden tener un elemento hijo llamado "numero_ID". Las referencias al elemento
"numero_ID" podrían ser ambiguas, salvo que los elementos, con igual nombre, pero significado
Cuando se define en la etiqueta de inicio de un elemento XML, se aplica a todos elementos sin
La mayoría de los marcos (frameworks) de UI modernos al igual que wpf, están impulsados por
eventos. Todos los controles, incluida la ventana (Window) (que también hereda la clase control)
exponen un rango de eventos a los que puede suscribirse. Usted puede suscribirse a estos eventos,
lo que significa que su aplicación será notificada cuando ocurran y podrá entonces reaccionar a
ellos.
Hay muchos tipos de eventos, pero algunos de los más comúnmente utilizados están hechos para
responder a la interacción del usuario con su aplicación, con el ratón o el teclado. En la mayoría
<Window x:Class="WpfTutorialSamples.XAML.EventsSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="EventsSample" Height="300" Width="300">
<Grid Name="pnlMainGrid" MouseUp="pnlMainGrid_MouseUp" El
Background="LightBlue">
</Grid>
</Window>
suscribirse. Tiene dos parámetros, un emisor (el control que causó el evento) y un objeto
MouseButtonEventArgs que contendrá información útil. Lo utilizamos en este ejemplo para
controladores de eventos a un objeto en particular del código, incluidos los objetos que no pueden
usarse en XAML, puedes usar la sintaxis específica del lenguaje para agregar controladores de
eventos.
En C#, la sintaxis es usar el operador +=. El controlador se registra haciendo referencia al nombre
del método del controlador del evento que se encuentra a la derecha del operador.
Si se usa un código para agregar controladores de eventos a los objetos que aparecen en la
respuesta a una devolución de llamada o evento de duración del objeto, como Loaded o
OnApplyTemplate, de manera que los controladores de eventos del objeto correspondiente estén
listos para los eventos que inicie el usuario en tiempo de ejecución. En este ejemplo se muestra
agregar un controlador.
Data Binding
con los objetos que contienen la información a mostrar. El caso más típico de data binding es el
enlazar un control de la interfaz de usuario con un valor o registro de una base de datos.
Las posibilidades que nos brinda el data binding en WPF para conseguir interfaces dinámicas
Diccionario de recursos
parte de recursos de una aplicación WPF fuera de la aplicación XAML compilada. Los recursos
se pueden compartir entre aplicaciones y también se aíslan de forma más conveniente para la
localización.
para todos los elementos de una colección de recursos. Pero otra referencia ResourceDictionary
combinado de recursos no puede tener un x: Key (directiva). Normalmente, cada uno de ellos
valor de Source debe ser un identificador de recursos uniforme (URI) que se resuelve en la
ubicación del archivo de recursos que se va a combinar. El destino de ese Identificador URI debe
diccionario combinado, ya sea como alternativa a especificar Source, o además de recursos que
se incluyen en el origen especificado. Sin embargo, esto no es un escenario común: el escenario
principal para los diccionarios combinados es combinar recursos desde ubicaciones de archivo
combinados.
Esto especifica dos elementos de objeto: <StackPanel> (con contenido y una etiqueta de cierre
después) y <Button .../> (el formulario de auto cierre, con varios atributos). Los StackPanel
elementos Button de objeto y cada asignación al nombre de una clase definida por WPF y forma
parte de los ensamblados WPFWPF. Cuando se especifica una etiqueta de elemento de objeto, se
crea una instrucción para el procesamiento XAML para crear una nueva instancia del tipo
subyacente. Cada instancia se crea llamando al constructor sin parámetros del tipo subyacente al
Sintaxis de atributo es la sintaxis de marcado XAML que establece un valor para una
del atributo debe coincidir con el nombre de miembro CLR de la propiedad de la clase que
respalda el elemento de objeto relevante. El nombre del atributo va seguido de un operador de
asignación (-). El valor del atributo debe ser una cadena entre comillas.
Para establecerse a través de la sintaxis de atributo, una propiedad debe ser pública y debe ser
grabable. El valor de la propiedad en el sistema de tipos de respaldo debe ser un tipo de valor o
debe ser un tipo de referencia al que se pueda crear una instancia o al que haga referencia un
Para los eventos XAML de WPF, el evento al que se hace referencia como el nombre del
La propiedad o evento debe ser un miembro de la clase o estructura que crea una instancia del
http://www.hipertexto.info/documentos/namespaces.htm. Obtenido de
https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/classes-and-
structs/classes
es/dotnet/framework/wpf/advanced/xaml-syntax-in-detail.
microsoft. (2017). Espacios de nombres XAML y asignación de espacios de nombres para WPF
XAML. https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/xaml-
namespaces-and-namespace-mapping-for-wpf-xaml. Obtenido de
https://docs.microsoft.com/es-es/dotnet/csharp/basic-types
us/windows/uwp/design/controls-and-patterns/?redirectedfrom=MSDN.
csharp/classes-and-objects
5. RECOMENDACIONES
Antes de elaborar una aplicación de escritorio debemos de saber cuáles son los requerimientos
que el cliente necesita para así mismo empezar a desarrollar la aplicación, pero en nuestro caso
este proyecto fue elaborado para la compra de artículos y accesorios de una tienda llamada “mi
Tío” ya que fueron las especificaciones que nuestro cliente solicitó. De esta manera fue necesario
utilizar el programa visual.Net, que mediante los formatos de wpf fueron necesarios para la
En este presente informe fue objeto de estudio, el cual fue necesario tener un poco de
conocimiento sobre las clases y métodos de código en C#, pero no es lo único que se debe tener
en cuenta ya que en este proyecto se debió de adquirir el conocimiento y la relación que tiene la
Una Recomendación para trabajar XAML es que las clases parciales deben derivar del tipo
En conclusión, podemos decir que el lenguaje marcado extensible XAML es muy útil porque
con él nos ahorramos mucho código a la hora de hacer cualquier programa de escritorio, es muy
fácil manejo por que cuenta con su propia vista de diseño y es compatible con el lenguaje de C#;
Además XAML se usa también principalmente para definir el contenido visual y funciona con
interfaz de usuario de la lógica de la aplicación, XAML define conceptos propios pero estos
conceptos funcionan dentro del concepto XML y del formato de marcado, sin embargo, este
programa de modelado es un sistema que puede ejecutarse en más de una plataforma y que esta