TOC

This article has been localized into Russian by the community.

Приложение WPF:

Окно

Создавая приложение WPF, первым, с чем Вы столкнетесь будет класс Window. Он служит корневым элементом окна и представляет собой обыкновенную рамку, заголовок и кнопки: "свернуть", "развернуть", "закрыть". Окно WPF - это комбинация файла XAML (.xaml), в котором элемент <Window> является корнем и CodeBehind файла (.xaml.cs). Используя Visual Studio (Express), при создании нового WPF приложения, система автоматически создаст Окно по умолчанию, которое будет выглядеть примерно так:

<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 сообщает файлу XAML, какой класс необходимо использовать (в этом случае Window1), который Visual Studio для нас уже создала для нас. Вы можете найти его в дереве решений как дочерний узел файла XAML. По умолчанию, он будет выглядеть так:

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

Как Вы можете заметить, класс Window1 определен как разделяемый (partial class), так как при создании окна, в ходе исполнения, он сочетается с файлом XAML. Это на самом деле процесс, который реализуется при вызове InitializeComponent(), необходимого для получения полного функционала окна и его запуска.

Если мы вернемся назад, к файлу XAML, то Вы сможете обратить внимание на несколько интересных атрибутов элемента Окно, таких как: Title, который определяет заголовок окна (полоска Title), стартовые ширину и высоту. Так же, здесь находится несколько определений пространств имен, о которых мы поговорим позже.

Вы также можете заметить, что Visual Studio создала элемент Grid внутри Окна. Grid является одним из контейнеров WPF, который может содержать в себе любые другие контейнеры или элементы управления, в то время как Окно может иметь внутри себя лишь ОДИН дочерний элемент. Одним из лучших вариантов такого дочернего контейнеров является элемент Panel. Позже, в руководстве мы более подробно познакомимся с различными типами контейнеров, которые Вы можете использовать, поскольку это очень важная тема в WPF.

Важные свойства Window

Класс Window имеет несколько интересных атрибутов, которые Вы можете устанавливать для управления внешним видом и поведением окна Вашего приложения. Ниже представлен короткий список самых интересных:

Icon - Позволяет определить иконку окна, которая обычно расположена в левом верхнем углу, перет Заголовком.

ResizeMode - Управляет тем, может ли конечный пользователь изменять размер окна. Значение по умолчанию - CanResize, что позволяет пользователю изменять размер окна, как любого другого окна, либо с помощью кнопок "свернуть"/"развернуть", либо перетягиванием за углы. CanMinimize может позволить пользователю свернуть окно, но не развернуть или растянуть и сделать большимили меньшим. NoResize - достаточно строгое правило, которое убирает кнопки "свернуть"/"развернуть" и не позволяет менять размер окна.

ShowInTaskbar - По умолчанию имеет значение true, но если переназначить его на false - Ваше окно не будет представлено на панели задач Windows. Это свойство очень полезно, так как позволяет убрать с панели задач вторичные окна либо приложения.

SizeToContent - Определяет, будет ли Окно автоматически менять свой размер, приспосабливаясь под его контент. Значение по умолчанию - Manual, что значит, что окно не будет автоматически подстраивать свой размер. Другими опциями являются: Width, Height и WidthAndHeight, которые позволяют настроить автоподстройку размера окна по ширине, высоте, либо по двум параметрам сразу.

Topmost - По умолчанию - false, но при переключении на true - Окно буде оставаться на переднем фоне, если его не минимизировать. Свойство полезное, но при узконаправленной задаче.

WindowStartupLocation - Управляет начальным положением окна. Значение по умолчанию - Manual, означает, что окно при инициализации будет расположено согласно со свойствами Top и Left Вашего окна. Другими опциями являются CenterOwner, которая будет располагать окно в центре окна-родителя и CenterScreen, располагающая окно в центре экрана.

WindowState - Регулирует начальное состояние окна. Оно может принимать значения Normal, Maximized или Minimized. По умолчанию - Normal, которое используется в случае, если Вы не хотите, чтобы при запуске окно было минимизировано либо максимизировано.

Существует еще огромное множество подобных атрибутов. Перед тем, как перейти к следующей главе, Вам стоит самостоятельно с ними ознакомиться.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!