TOC

This article has been localized into Catalan by the community.

Una aplicació WPF:

La finestra

Quan es crea una aplicació en WPF, el primer element amb el qual et trobaràs és amb la classe Window. Aquesta serveix com a arrel de la finestra i et proveeix alguns elements estandar com una vora, una barra de títols, i els botons de control de finestra. Una finestra de WPF és una combinació d'un arxiu XAML (.xaml), on l'element <Window> és l'arrel, i aquest conté un arxiu CodeBehind(.cs). Si estàs utilitzant Visual Studio (Express) i creis una nova aplicació WPF, el IDE generarà una finestra per defecte que es veurà de la següent forma:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>

    </Grid>
</Window>

L'atribut x:class li diu al XAML que classe utilitzar, en aquest cas Window1, que Visual Studio ha creat per a nosaltres. Podràs trobar-ho en l'arbre de projectes en VS, com un node fill de l'arxiu XAML. Per defecte, es veu alguna cosa semblança a això:

using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
}

Com pots veure, la classe Window1 aquesta definida com a parcial, perquè es combina amb el teu arxiu XAML al moment d'execució per a donar-te una finestra completa. Això és el que realitza InitializeComponent(), per la qual cosa és requerit per a obtenir un funcionament i execució de la finestra.

Si mirem l'arxiu XAML, notaràs un parell d'atributs interessants en els elements de la finestra, com Title, que defineix el títol de la finestra (mostrat a la barra de titulo) també l'ample i alt inicial. Hi ha també un parell de definicions de namespace, que es discutiran mes envant en els capítols de XAML.

També notaràs que Visual Studio ha creat un control Grid endins de la finestra. El control Grid és part dels panells de WPF, i mentre va poder ser qualsevol panell o control, la Finestra només pot tenir UN control fill, així que un Panel, que en canvi pot tenir múltiples controlis fills és una bona decisió. Mes endavant en aquest tutorial donarem un cop d'ull mes de prop als diferents tipus de panells que pots utilitzar i la seva importància en WPF.

Propietats importants de Window

La classe Window de WPF té un munt d'atributs interessants que pots configurar per a controlar l'aparença i comportament de la teva finestra d'aplicació. Aquí hi ha una llista dels més interessants:

Icon - Permet definir la icona de la finestra, que generalment es mostra a la cantonada superior esquerra, just abans del títol de la finestra.

ResizeMode - Això controla si l'usuari final pot redimensionar la finestra o no. Per defecte és CanResize, que permet a l'usuari re dimensionar la finestra com qualsevol altra, ja sigui usant els botons de maximitzar/minimitzar o arrossegant algun de les seves vores. CanMinimize permetrà a l'usuari minimitzar la finestra, però no maximitzar-la o arrosegar-la perquè s'engrandeixi o redueixi. NoResize és el més estricte, els botons de maximitzar i minimitzar no apareixen i la finestra no pot canviar la seva grandària arrossegant-la.

ShowInTaskbar - Per defecte és true, però si ho configures false, la teva finestra no apareixerà a la barra de tasques de Windows. És útil per a finestres secundàries, o aplicacions que han de minimitzar-se en la safata.

SizeToContent - Decideix si la finestra deu re dimensionar-se per si mateixa per a automàticament ajustar-se al seu contingut. Per defecte és Manual, la qual cosa significa que la finestra no es re dimensiona automàticament. Altres opcions són: Width (Ample), Height (Alt) i WidthAndHeight (Ample i Alt), cadascuna d'aquestes podrà ajustar automàticament la grandària de la finestra horitzontal, vertical o tots dos.

Topmost - Per defecte és false, però si li ho posa a true, la teva finestra romandrà per sobre d'altres finestres tret que estigui minimitzada. Només útil per a ocasions especials.

WindowStartupLocation - Controla la posició inicial de la seva finestra. Per defecte és Manual, la qual cosa significa que la finestra inicialment es posicionarà d'acord les seves propietats Top i Left. Altres opcions són CenterOwner, la qual posicionarà a la finestra en el centre de la finestra que la contingui, i CenterScreen, la qual posicionarà a la finestra en el centre de la pantalla.

WindowState - Controla l'estat inicial de la finestra. Pot ser Normal, Maximized (maximitzada) o Minimized (minimitzada). Per defecte és Normal, que és el que hauries d'usar, tret que vulguis que la teva finestra comenci maximitzada o minimitzada.

Hi ha molts més atributs, dóna'ls una mirada pel teu compte i després continua en el següent capítol.