Lenguaje XAML.

Mi primera ventana en WPF.

XAML significa 'eXtensible Application Markup Language', es decir, lenguage de marcado extensible para aplicaciones. Sii tienes conocimientos de HTML o XML, te será muy fácil entender la estructuración de las líneas de código fuente de XAML, ya que se basa en disposición a modo de árbol de elementos que se autocontienen unos a otros; en caso contrario no te preocupes, pues ya verás qué fácil es.

Como una imagen vale más que mil palabras, vayamos rápidamente a la práctica. Mediante Visual Studio debes crear un proyecto WPF (como ya he dicho no voy a entrar en el manejo del IDE, que me nos llevaría mucho tiempo; si no estás familiarizado con Visual Studio busca en Internet tutoriales para la creación de proyectos WPF). Una vez creado el proyecto, verás que ya se ha creado automáticamente un archivo llamado 'MainWindow.xaml'. Es la ventan principal de la aplicación. Si abrimos este archivo, veremos algo como lo siguiente:

<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="350" Width="525">
    <Grid>

    </Grid>
</Window>

Como ya habrás comprobado, tenemos dos 'etiquetas' que se autocontienen, algo parecido a HTML; una etiqueta 'Window' que es la propia ventana, y otra etiqueta 'Grid' que no es sino un contenedor principal cuyo interior de momento está vacío. Observa que las etiquetas de apertura y cierre son distintas.

Pero además podemos ver varias cosas más. Unos atributos 'xmlns' (xml name space) que definen espacios de nombres necesarios para la referencia a los elementos de código XAML procedentes de los ensamblados de WPF. Y finalmente unas propiedades 'Title', 'Height' y 'Width' que son el título, el largo y el ancho, respectivamente, de la ventana.

Si compilas el proyecto y lo ejecutas, verás que el resultado es una ventana vacía de título 'MainWindow' y de dimentsiones 525x350. Prueba a cambiar las propiedades y verifica los resultados. También, puedes eliminar los atributos 'd', 'mc', 'local' y 'mc', ya que en la mayoría de los casos no serán necesarios y no quiero profundizar ahora en ese tema para no complicar el asunto.

Código subyacente.

Si miras en el resto de los componentes del proyecto, verás que hay un archivo 'MainWindow.xaml.cs' asociado al archivo de XAML de la ventana principal. Si lo abres, verás que no es sino un archivo C# que será el responsable del código que deberá ejecutarse en la ventana. De momento ese archivo está casi vacío. Sólo tiene un constructor en el que se hace una llamada a un método del framework que inicializa los parámetros de la ventana para poder mostrarla. Justo después de ese método también puedes cambiar los valores de las anteriores propiedades, no solamente del ancho, el alto y el título. Mediante el desplegable automático en la escritura de Visual Studio podrás ver todas las propiedades de la ventana para poder cambiar sus valores. Experimenta.