TOC

This article has been localized into Czech by the community.

WPF aplikace:

Okna

Když začnete vytvářet WPF aplikaci, první věc, se kterou se setkáte, je třída Window. Slouží jako základní okno a poskytuje vám standardní prvky jako jsou okraje, titulkovou lištu a tlačítka pro maximalizaci, minimalizaci a zavření aplikace. WPF okno je kombinací XAML (.xaml) souboru, kde je <Window> element jako root, a CodeBehind (.cs) souboru. Pokud používáte Visual Studio (Express) a uděláte WPF aplikaci, ta vytvoří pro vás defaultní okno, které bude vypadat nějak takto:

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

Atribut x:class sděluje souboru XAML, která třída má být použita, v tomto případě Window1, které aplikace Visual Studio pro nás vytvořila. Najdete jej ve stromu projektu VS jako podřízený uzel souboru XAML. Ve výchozím nastavení to vypadá nějak takto:

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

Jak můžete vidět, třída Window1 je definována jako partial, protože je sloučena se souborem XAML v době běhu, aby zobrazila celé okno. To je vlastně to, co dělá volání InitializeComponent (), která zajistí vytvoření a spuštění plné funkčního okna.

Pokud se vrátíme do souboru XAML, všimnete si několika dalších zajímavých atributů v prvku Window, například Title, který definuje název okna (zobrazený v záhlaví) a také počáteční šířku a výšku okna. Existují zde také dvě definice jmenného prostoru, o kterých se budeme bavit v kapitolách o XAML.

Také si můžete všimnout, že aplikace Visual Studio vytvořila v okně Ovládací prvek mřížku. Mřížka je jedním z panelů WPF a může se jednat o libovolný panel nebo ovládací prvek. Okno může mít pouze jeden podřízený ovládací prvek, takže panel, který zase může obsahovat více podřízených ovládacích prvků, je obvykle dobrou volbou. Později se v tomto výukovém kurzu podíváme mnohem blíže na různé typy panelů, které můžete použít, protože jsou v systému WPF velmi důležité.

Důležité vlastnosti třídy Window

WPF třídy Window mají několik zajímavých atributů, kterými můžete ovládat vzhled a chování vaší aplikace. Tady je krátký seznam nejzajímavějších:

Ikona - Icon -umožňuje definovat ikonu okna, které je obvykle zobrazena v levém horním rohu nalevo od názvu okna.

ResizeMode - Určuje, zda a jakým způsobem může koncový uživatel změnit velikost okna. Výchozí hodnota je CanResize, která umožňuje uživateli změnit velikost okna stejně jako kterékoli jiné okno, buď pomocí tlačítek Maximalizovat/minimalizovat nebo přetažením jednoho z okrajů. CanMinimize umožní uživateli minimalizovat okno, ale ne maximalizovat, nebo zvětšit anebo zmenšit přetahováním okrajů. Hodnota NoResize je nejstriktnější. Tlačítka maximalizace a minimalizace jsou odstraněna a okno nelze zvětšovat nebo zmenšovat.

ShowInTaskbar -Výchozí hodnota je true, ale pokud ji nastavíte na hodnotu false, okno nebude na hlavním panelu systému Windows zobrazeno. To je vhodné pro neprimární okna nebo pro aplikace, kdy chcete minimalizovat hodnotu zásobníku.

SizeToContent – určuje, zda má být velikost okna automaticky přizpůsobena jejímu obsahu. Výchozí hodnota je ručně – Manual, což znamená, že okno nemění velikost automaticky. Další možnosti jsou šířka – Width, Výška - Height a WidthAndHeight a každá z nich automaticky přizpůsobí velikost okna vodorovně, svisle nebo oběma směry.

Topmost - Výchozí hodnota je false, ale pokud je nastavena na hodnotu true, okno zůstane nad všemi ostatními okny které bude překrývat, pokud není minimalizováno. Hodí se to pouze pro zvláštní situace.

WindowStartupLocation - Určuje počáteční umístění okna. Výchozí nastavení je Manual - ručně, což znamená, že okno bude zpočátku umístěno podle definovaných vlastností Top a Left okna. Dalšími možnosti jsou CenterOwner, která umístí do středu okna jeho vlastníka a CenterScreen, kde se okno umístí doprostřed obrazovky.

WindowState - určí počáteční stav okna. Může být buď normální - Normal, maximalizované - Maximazed nebo minimalizovaný - Minimized. Výchozí hodnota je Normal, nechcete, aby se okno spustilo v maximalizovaném nebo minimalizovaném stavu.

Existuje však mnoho dalších atributů, takže se na ně podíváme v další kapitole.