Урок 7.1: Введение в WPF
📌 Ключевые моменты этого урока:
- WPF = современный фреймворк с векторной графикой вместо GDI+ (растровой)
- XAML - это XML-подобный язык для описания UI (не код C#)
- Data Binding встроён в WPF - UI автоматически обновляется при изменении данных
- WPF обычно медленнее GDI+ для простой графики, но мощнее для сложных приложений
- MVVM паттерн разделяет логику (Model) от представления (View) через ViewModel
Отличия от Windows Forms
- Разметка: WPF использует XAML вместо дизайнера
- Графика: Векторная графика вместо растровой
- Стили: Гибкая система стилей и шаблонов
- Привязка данных: Встроенная поддержка Data Binding
- Анимация: Встроенная поддержка анимации
XAML разметка
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="My App" Height="450" Width="800">
<Grid>
<Button Content="Click Me"
Width="100" Height="30"
Click="Button_Click"/>
</Grid>
</Window>MVVM паттерн
Model-View-ViewModel — архитектурный паттерн для WPF:
- Model: Данные и бизнес-логика
- View: XAML разметка, UI
- ViewModel: Связь между Model и View
Первое WPF приложение
// MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello WPF!");
}
}
Практическое задание
Задание: Первое WPF приложение
- Создайте простое WPF приложение с кнопкой и текстовым полем
- При нажатии кнопки выводите текст в текстовое поле
- Изучите структуру XAML разметки
Проверка знаний
Ответьте на вопросы, чтобы проверить, насколько хорошо вы усвоили материал:
1. В чем основное отличие WPF от Windows Forms?
2. Что такое XAML?
3. Что такое MVVM паттерн?