Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Построение приложений WPF с использованием Visual Studio
Давайте выясним, как Visual Studio может упростить создание приложений WPF. Хотя строить приложения WPF можно и с применением Visual Studio Code, в Visual Studio Code отсутствует поддержка соответствующих визуальных конструкторов. С другой стороны, благодаря развитой поддержке XAML среда Visual Studio обеспечивает более высокую продуктивность при создании приложений WPF.
На заметку! Далее будут представлены основные особенности применения Visual Studio для построения приложений WPF. В последующих главах при необходимости будут иллюстрироваться дополнительные аспекты этой IDE-среды.
Шаблоны проектов WPF
В диалоговом окне New Project (Новый проект) среды Visual Studio определен набор проектов приложений WPF, в том числе WPF Арр (Приложение WPF), WPF Custom Control Library (Библиотека специальных элементов управления WPF) и WPF User Control Library (Библиотека пользовательских элементов управления WPF). Создайте новый проект WPF Арр (.NET) по имени
WpfTesterApp
На заметку! При выборе шаблона проектов приложений WPF удостоверьтесь в том, что выбираете шаблон, который содержит в своем названии (.NET), но не (.NET Framework). Текущая версия .NET Core была переименована в просто .NET 5. Если вы выберете шаблон с (.NET Framework) в названии, то будете строить свое приложение, используя .NET Framework 4.x.
Кроме установки комплекта SDK в
Microsoft.NET.Sdk
Window
Application
Панель инструментов и визуальный конструктор/редактор XAML
В Visual Studio имеется панель инструментов (открываемая через меню View (Вид)), которая содержит многочисленные элементы управления WPF. В верхней части панели расположены наиболее распространенные элементы управления, а в нижней части — все элементы управления (рис. 24.4).

С применением стандартной операции перетаскивания посредством мыши любой из элементов управления можно поместить на поверхность визуального конструктора элемента
Window
После этого начальная разметка XAML сгенерируется автоматически. Давайте перетащим с помощью мыши элементы управления
Button
Calendar
В дополнение к построению пользовательского интерфейса с использованием мыши и панели инструментов разметку можно также вводить вручную, применяя интегрированный редактор XAML. Как показано на рис. 24.5, вы получаете поддержку средства IntelliSense, которое помогает упростить написание разметки. Например, можете добавить свойство
Background
<Window>

Посвятите некоторое время добавлению значений свойств напрямую в редакторе XAML. Обязательно освойте данный аспект визуального конструктора WPF.
Установка свойств с использованием окна Properties
После помещения нескольких элементов управления на поверхность визуального конструктора (или определения их в редакторе вручную) можно открыть окно Properties (Свойства) для установки значений свойств выделенного элемента управления, а также для создания связанных с ним обработчиков событий.
В качестве простого примера выберите в визуальном конструкторе ранее добавленный элемент управления
Button
Background
Button

На заметку! В верхней части окна Properties имеется текстовая область, предназначенная для поиска. Чтобы быстро найти свойство, которое требуется установить, понадобится ввести его имя.
После завершения работы с редактором кистей имеет смысл взглянуть на сгенерированную разметку, которая может выглядеть так:
<Button Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0"
VerticalAlignment="Top" Width="75">
<Button.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="#FFE90E0E" Offset="1"/>
<GradientStop Color="#FF1F4CE3"/>
</LinearGradientBrush>
</Button.Background>
</Button>
Обработка событий с использованием окна Properties
Для организации обработки событий, связанных с определенным элементом управления, также можно применять окно Properties, но на этот раз понадобится щелкнуть на кнопке Events (События), расположенной справа вверху окна (кнопка с изображением молнии). На поверхности визуального конструктора выберите элемент
Button
Click
<i>ИмяЭлементаУправления_ИмяСобытия</i>
Так как кнопка не была переименована, в окне Properties отображается сгенерированный обработчик событий по имени
button_Click

Кроме того, Visual Studio сгенерирует соответствующий обработчик события C# в файле кода для окна. В него можно поместить любой код, который должен выполняться, когда на кнопке произведен щелчок.