В этой серии статей я хочу научить вас основным понятиям WPF. Учитывая сложность Windows Presentation Foundation (WPF), 5 дней будут ускоренным курсом и предполагают, что вы хорошо понимаете C#. Вы можете использовать приведенные ниже ссылки, чтобы перейти к любому другому дню из этой серии статей.

День 1. Знакомство с WPF и XAML

День 2: Элементы управления, макет и привязка данных

День 3: Стили, шаблоны и ресурсы

День 4: Расширенная привязка данных и проверка данных

День 5: Навигация, анимация и развертывание

Что такое WPF?

WPF, или Windows Presentation Foundation, представляет собой графическую подсистему от Microsoft для визуализации пользовательских интерфейсов в приложениях на базе Windows. WPF, в отличие от WinForms (его предшественника), позволяет создавать многофункциональные, визуально потрясающие настольные приложения Windows. Он использует DirectX вместо GDI и в полной мере использует аппаратное ускорение графики, делая ваше приложение более эффективным и визуально привлекательным.

WPF предлагает единый подход к пользовательскому интерфейсу, документам и мультимедиа. Он может создавать интерактивные пользовательские интерфейсы, 2D- и 3D-графику, документы, видео и многое другое.

Обзор архитектуры WPF

WPF — это больше, чем просто оболочка для Windows API. Это полноценная система со своим движком рендеринга. Краткий обзор архитектуры:

  • PresentationFramework.dll: содержит функции высокого уровня, такие как элементы управления, макеты и привязка данных.
  • PresentationCore.dll: находится ниже PresentationFramework, содержит базовые типы, такие как UIElement и Visual.
  • Milcore.dll (библиотека интеграции мультимедиа): часть неуправляемого кода, напрямую взаимодействующая с DirectX.
  • DirectX: для рендеринга графики и визуальных эффектов.

Тот факт, что WPF использует DirectX для рендеринга, означает, что он использует преимущества аппаратного ускорения, когда оно доступно, перекладывая большую часть вычислений на GPU, освобождая CPU для других задач.

Введение в XAML

XAML (расширяемый язык разметки приложений) — это язык на основе XML, который WPF использует для создания и инициализации объектов .NET. С помощью XAML вы разрабатываете свой пользовательский интерфейс, создавая и настраивая объекты.

Давайте посмотрим на простой фрагмент кода XAML:

<Window x:Class="WpfApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Button Content="Click me!" HorizontalAlignment="Left" VerticalAlignment="Top" />
    </Grid>
</Window>

В приведенном выше примере Window является корневым элементом и представляет собой окно в приложении WPF. Внутри него у нас есть Grid (управление макетом), а внутри Grid есть Button. Для кнопки установлено несколько свойств, например Content, HorizontalAlignment и VerticalAlignment.

Создание вашего первого приложения WPF

Теперь давайте создадим простое приложение WPF. Это предполагает, что на вашем компьютере установлена ​​Visual Studio.

  1. Откройте Visual Studio и нажмите «Создать новый проект».
  2. В диалоговом окне шаблона проекта выберите «Приложение WPF (.NET Core)» или «Приложение WPF (.NET Framework)», в зависимости от вашей настройки.
  3. Назовите свой проект и выберите место, затем нажмите «Создать».
  4. После создания проекта откройте файл MainWindow.xaml, и вы увидите редактор XAML и визуальный дизайнер.

Замените XAML в MainWindow.xaml на:

<Window x:Class="WpfApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="My First WPF App" Height="450" Width="800">
    <Grid>
        <Button Content="Click me!" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
    </Grid>
</Window>

Затем в MainWindow.xaml.cs добавьте обработчик событий:

private void Button_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Hello, WPF!");
}

Это создает простое окно с кнопкой посередине. При нажатии кнопки отображается окно сообщения.

Теперь запустите приложение, нажав F5. Нажмите кнопку, и вы увидите всплывающее окно с сообщением «Привет, WPF!».

Вот и все, День 1! Вы узнали, что такое WPF, немного о его архитектуре, начали использовать XAML и создали свое первое базовое приложение WPF. Нам еще многое предстоит узнать, поэтому не торопитесь, чтобы освоиться с этими понятиями, прежде чем продолжить.

Если вам понравился этот пост, вот 3 вещи, которые вы можете сделать, чтобы поддержать мою работу:

  1. Дайте этой истории CLAP👏
  2. СЛЕДУЙТЕ ЗА МНОЙ, чтобы узнавать о моих будущих историях.
  3. Оставьте КОММЕНТАРИЙ свой отзыв об этой истории.