XAML
XAML
XAML
El diseño de interfaces no sólo abarca un único punto de vista aunque su principal use se destina a
la explotación de datos o sistemas de entrada/salida.
Los elementos puramente gráficos es posible representarlos y diseñarlos usando los mismos
lenguajes de programación utilizados para definir elementos de entrada/salida aunque normalmente
presentan librerías específicas.
Una manera más eficaz de diseño de interfaces es mediante el uso de lenguajes de representación,
los cuales permiten diseñar una interfaz en herramientas específicas de diseño o en editores de texto
simple siempre que se conozca la semántica del lenguaje empleado. Además, una vez creada la
interfaz es fácilmente exportable e importable entre diferentes herramientas IDE y sistemas
operativos.
Uno de los lenguajes de representación más usados es XAML (Extensible Application Markup
Language), lenguaje basado en lenguaje de marcas y que entre sus ventajas incluye la
compatibilidad con WPF (Windows Presentation Foundation), una tecnología de Microsoft
ideada para la creación de interfaces usando elementos típicos de MS Windows y WEB.
También podríamos definir XML como un lenguaje simple basado en XML para crear e
inicializar objetos .Net con relaciones jerárquicas.
1
Ejemplo de diseño de interfaz con XAML
2
Una vez instalado Visual Studio empezaremos la creación de nuestro proyecto.
3
Pondremos nombre al proyecto y marcaremos la casilla “Colocar la solución y
el proyecto en el mismo directorio”.
Una vez hecho eso nos aparecerá la interfaz por defecto de Visual Studio, por
ahora nos centraremos en el diseñador XAML, para ello seleccionaremos la
pestaña denominada XAML en la parte inferior en el caso de que no apareciese
por defecto y veríamos tanto la ventana principal (denominada Window) en el
diseñador gráfico como el código XAML en el diseñador XAML.
4
El elemento principal es la etiqueta <Window> que hará de elemento raíz,
además de la función de contenedor del resto de elementos. Una vez alcanzada
la etiqueta de cierre </Window> no podrá existir código o etiquetas
adicionales.
<Window x:Class="HolaMundo.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:HolaMundo"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="645">
<Grid>
</Grid>
</Window>
Como nuestra ventana principal está muy sola, a continuación le añadiremos un
par de elementos más, para ello usaremos el Cuadro de Herramientas situado en
la parte izquierda del IDE y agregaremos una etiqueta “Label” y un botón
“Button”.
5
<Window x:Class="HolaMundo.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:HolaMundo"
mc:Ignorable="d"
Title="Los de segundo de DAM..." Height="450" Width="645"
<Grid Margin="0,0,121,0">
</Grid>
</Window>
Como se podrá observar en el código del proyecto, se han realizado diferentes
cambios, algunos de manera automática y otros por nosotros mismos al usar el
diseñador gráfico para colocar y editar “Label” “Button” y el editor de
6
elementos de texto y estilo de Ventana (WindowStyle) situado en la parte
derecha del IDE. Además, se renombró los elementos anteriores desde el propio
XAML, para ello se usó el elemento x:Name=”Nombre”.
Para saber más sobre la sintaxis de XAML podemos consultar la guía oficial de
Microsoft en:
https://docs.microsoft.com/es-es/windows/uwp/xaml-platform/xaml-syntax-
guide
Volviendo al código C#, ahora seleccionaremos las acciones que los elementos
“Label” y “Button” van a realizar, para ello primero vamos la pestaña de
programación “CS”, en este caso MainWindow.xaml.cs
7
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace HolaMundo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
8
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
botonmostrar.Click += Botonmostrar_Click;
}
9
Otras herramientas compatibles con XAML
10
Por último, destacar la herramienta creada por Microsoft específicamente
destinada al diseño de interfaces en XAML, denominada XAML Studio y
disponible en la Microsoft Store de los sistemas operativos Windows. Dicha
herramienta fue creada con el único propósito de crear prototipos de interfaces
en XAML y exportarlos luego al IDE de tu elección.
11