TOC

This article has been localized into Swedish by the community.

En WPF-applikation:

The Window

När du skapar en WPF-applikation är det första du möter klassen Window. Den fungerar som utgångspunkten till ett fönster med standardram, titelrad och knappar för att maximera, minimera och stänga fönstret. Ett WPF-fönster är en kombination av en XAML-fil (.xaml), där Window-elementet är utgångspunkten, och en CodeBehind-fil (.cs). Om du använder Visual Studio (Express) och du skapar en nu WPF-applikation så kommer det automatiskt skapas ett fönster, vilket ser ut ungefär som det här:

<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>

x:class-attributet berättar för XAML-filen vilken klass som ska användas, i det här fallet Window1, som Visual Studio har skapat åt dig. Du hittar det i projektträdet i VS, som en nod under XAML-filen. Det brukar se ut ungefär såhär:

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();
        }
    }
}

Som du kan se är Window1-klassen definierad som partial eftersom den kombineras med din XAML-fil när den körs för att skapa fönstret. Det är det som anropet till InitializeComponent() gör, vilket är anledningen till att det behövs för att skapa och köra fönstret.

Om vi går tillbaka till XAML-filen så kan de notera några andra intressanta attribut för Window-elementet, som Title vilket definierar titeln på fönstret (som visas i titelraden), men också fönstrets bredd och höjd. Det finns också ett antal namespace-definitioner som vi diskuterar mer om i XAML-kapiteln.

Du kan också se att Visual Studio har skapat en Grid-kontroll åt oss inuti Window-elemetet. Grid-kontrollen är en av WPF:s paneler. Det skulle kunna vara vilken panel eller kontroll som helst, men eftersom Window-elementet bara kan innehålla endast EN kontroll, så är en panel, vilken i sin tur kan innehålla många kontroller, oftast ett bra val. Senare i denna tutorial så kommer vi att ta en närmare titt på de olika typer av paneler som går att använda eftersom de är väldigt viktiga i WPF.

Viktiga Window-egenskaper

Window-klassen i WPF har en mängd intressanta attribut som du kan ändra för att styra utseendet och beteendet för ditt fönster. Här är en lista på de mest intressanta:

Icon - Låter dig definiera fönstrets ikon, vilken normalt visas i det övre vänstra hörnet, till vänster som fönstrets titel.

ResizeMode - Denna styr om och hur användaren kan ändra storleken på fönstret. Grundinställningen är CanResize, vilket låter användaren att ändra storleken på fönstret som med alla andra fönster, antingen genom att använda knapparna för att maximera/minimera eller genom att dra i fönstrets kanter. CanMinimize låter användaren minimera fönstret, men inte maximera det eller att dra i kanterna. NoResize är mest strikt, då knapparna för maximera/minimera inte visas och det inte heller går att dra i fönstrets kanter.

ShowInTaskbar - Grundinställningen är sant (true), men om du sätter den till falskt (false) så kommer inte ditt fönster att visas i Windows aktivitetsfält. Det är användbart för icke-primära fönster eller för applikationer ska minimeras till meddelandefältet.

SizeToContent - Avgör om fönstret ska anpassa sin storlek automatiskt efter innehållet. Grundinställningen är Manual, vilket betyder att fönstret inte ändrar storlek automatiskt. Andra alternativ är Width, Height och WidthAndHeight och de gör att fönstret automatiskt anpassar sin storlek horisontellt, vertikalt eller både och.

Topmost - Grundinställningen är falskt (false), men om den sätts till sant (true) så kommer ditt fönster alltid ligga överst, ovanpå andra fönster, om det inte minimeras. Användbart bara i särskilda situationer.

WindowStartupLocation - Styr den initiala positionen av fönstret. Grundinställningen är Manual, vilket betyder att fönstret initialt positioneras enligt Top- och Left-egenskaperna för fönstret. Andra möjligheter är CenterOwner, vilket positionerar fönstret centrerat efter det fönster som det öppnas ifrån, och CenterScreen, som positionerar fönstret centrerat på skärmen.

WindowState - Styr det initiala tillståndet för fönstret. Det kan antingen vara Normal, Maximized eller Minimized. Grundinställningen är Normal och är den som ska användas förutom då du vill att fönstret ska skapas i maximerat eller minimerat läge.

Det finns många fler attribut som du kan utforska på egen hand och sedan gå vidare till nästa kapitel.