This article has been localized into Danish by the community.
Vinduet
Når du opretter en WPF-applikation, er det første, du vil møde, vinduesklassen. Den tjener som roden til et vindue og giver dig standardkanten, titellinjen og maksimerer, minimerer og lukker knapper. Et WPF-vindue er en kombination af en XAML-fil (.xaml), hvor <Window> -elementet er roden og en bagvedliggende kode (.cs) -fil. Hvis du bruger Visual Studio (Express), og du opretter et nyt WPF-program, vil det oprette et standardvindue til dig, som vil se sådan ud:
<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>
Attributten x:class fortæller XAML filen, hvilken klasse den skal bruge, her Window1, som Visual Studio har oprettet for os. Du finder den i Projekt træet i VS under XAML filen. Som standard ser den således ud:
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, er Window1-klassen defineret som delvis, fordi den ved eksekvering kombineres med din XAML-fil, for at give dig det fulde vindue. Dette er faktisk, hvad InitializeComponent() i konstruktøren gør, som er nødvendigt, for at få et fuldt fungerende vindue op at køre.
Hvis vi går tilbage til XAML-filen, vil du bemærke et par andre interessante attributter på Window-elementet, bl.a. Titel, som definerer vinduets titel (vises i titellinjen) samt startbredde og højde. Der er også et par namespace definitioner, som vi vil tale om i XAML kapitlerne.
Du vil også bemærke, at Visual Studio har oprettet en Grid-kontrol for os inde i vinduet. Gridden er en af WPF-panelerne, og selvom det kan være et hvilket som helst panel eller kontrol, kan vinduet kun have en underkontrol, så et panel, som igen kan indeholde flere underkontroller, er normalt et godt valg. Senere i denne vejledning vil vi se nærmere på de forskellige typer paneler, som du kan bruge, da de er meget vigtige i WPF
Vigtige vinduegenskaber
WPF Window-klassen har en flok interessante attributter, som du kan indstille til at kontrollere udseendet og opførelsen af dit programvindue. Her er en kort liste over de mest interessante af dem:
Icon - Giver dig mulighed for at definere ikonet for vinduet, som normalt vises øverst til venstre, lige før vinduets titel.
ResizeMode - Denne styrer om og hvordan slutbrugeren kan ændre størrelsen på dit vindue. Standardværdien er CanResize, som gør det muligt for brugeren at ændre størrelsen på vinduet som ethvert andet vindue, enten ved at bruge knapperne maksimere / minimere eller ved at trække en af kanterne. CanMinimize giver brugeren mulighed for at minimere vinduet, men ikke for at maksimere det eller trække det større eller mindre. NoResize er den strengeste, hvor maksimering og minimering af knapper fjernes, og vinduet kan ikke trækkes større eller mindre.
ShowInTaskbar - Standard værdien er sand, men hvis du ænder den til falsk, vises dit vindue ikke i Windows-proceslinjen. Nyttig til ikke-primære vinduer eller til applikationer, der skal minimere til bakken.
SizeToContent - Afgør om vinduet automatisk skal tilpasse sin størrelse i forhold til indholdet. Standarden er Manual, som betyder, at størrelsen ikke tilpasses. Andre muligheder er Width, Height og WidthAndHeight, som hhv. tilpasser vinduet vandret, lodret eller begge.
Topmost - Er standard sat til falsk, men hvis den ændres til sand, så vil vinduet altid ligge over alle andre vinduer, som således ikke kan aktiveres. Bruges derfor kun i specielle situationer.
WindowStartupLocation - Styrer startvinduet for dit vindue. Standard er Manuel, hvilket betyder at vinduet først vil blive placeret i henhold til vinduets øverste og venstre egenskaber. Andre valgmuligheder er CenterOwner, som placerer vinduet midt i ejervinduet og CenterScreen, som placerer vinduet i midten af skærmen.
WindowState - Styrer den indledende vinduetilstand. Det kan enten være Normal, Maximized eller Minimized. Standard er Normal, hvilket er hvad du skal bruge, medmindre du vil have dit vindue til at starte enten maksimeret eller minimeret.
Der er dog mange andre egenskaber, så tag selv og se, og fortsæt videre til næste kapitel.