Курс лекций для студентов специальности 1-40 01 03 Информатика и технологии программирования Минск 2013



страница1/22
Дата31.12.2016
Размер0.89 Mb.
Просмотров1115
Скачиваний0
ТипКурс лекций
  1   2   3   4   5   6   7   8   9   ...   22
Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет

информатики и радиоэлектроники»


Кафедра информатики
А.А. Волосевич

Технология Windows Presentation Foundation


Курс лекций

для студентов специальности

1-40 01 03 Информатика и технологии программирования

Минск 2013


Содержание


1. Общая характеристика технологии WPF 3

2. Простейшее приложение WPF 4

3. XAML 6

4. Базовые концепции WPF 14

5. Варианты организации приложений WPF 23

6. Компоновка 33

7. Обзор элементов управления WPF 46

8. Ресурсы 64

9. Привязка данных 68

10. Работа с графикой 89

11. Стили и триггеры 108

12. Шаблоны 117

13. Списки и представления коллекций 123

Литература 142


1. Общая характеристика технологии WPF


Windows Presentation Foundation (WPF) – это технология для построения клиентских приложений Windows, являющаяся частью платформы .NET. WPF разработана как альтернатива технологии Windows Forms. Ниже перечислены основные особенности технологии WPF.

1. Собственные методы построения и рендеринга элементов. В Windows Forms классы для элементов управления делегируют функции отображения системным библиотекам, таким как user32.dll. В WPF любой элемент управления полностью строится (рисуется) самой WPF. Для аппаратного ускорения рендеринга применяется технология DirectX (рис. 1).

Рис. 1. Рендеринг в приложениях на основе Windows Forms и WPF.



2. Независимость от разрешения устройства вывода. Для указания размеров в WPF используется собственная единица измерения, равная 1/96 дюйма. Кроме этого, технология WPF ориентирована на использование не пиксельных, а векторных примитивов.

3. Декларативный пользовательский интерфейс. В WPF визуальное содержимое окна можно полностью описать на языке XAML. Это язык разметки, основанный на XML. Так как описание пользовательского интерфейса отделено от кода, дизайнеры могут использовать профессиональные инструменты (например, Microsoft Expression Blend), чтобы редактировать файлы XAML, улучшая внешний вид приложения. Применение XAML является предпочтительным, но не обязательным – приложения WPF можно создавать, используя только код.

4. Веб-подобная модель компоновки. WPF поддерживает гибкий визуальный поток, размещающий элементы управления на основе их содержимого. В результате получается пользовательский интерфейс, который может быть адаптирован для отображения динамичного содержимого.

5. Стили и шаблоны. Стили стандартизируют форматирование и позволяют повторно использовать его по всему приложению. Шаблоны дают возможность изменить способ отображения любых элементов управления, даже таких основополагающих, как кнопки или поля ввода.

6. Анимация. В WPF анимация – неотъемлемая часть программного каркаса. Анимация определяется декларативными дескрипторами, и WPF запускает её в действие автоматически.

7. Приложения на основе страниц. В WPF можно строить приложения с кнопками навигации, которые позволяют перемещаться по коллекции страниц. Кроме этого, специальный тип приложения WPF – XBAP – может быть запущен внутри браузера.

2. Простейшее приложение WPF


Построим простейшее однооконное приложение WPF. Для этого создадим файл Program.cs и поместим в него следующий код:

using System;

using System.Windows;

public class Program

{

[STAThread]



public static void Main()

{

var myWindow = new Window();



myWindow.Title = "WPF Program";

myWindow.Content = "Hello, world";

var myApp = new Application();

myApp.Run(myWindow);

}

}

Проанализируем этот код. Пространство имён System.Windows содержит классы Window и Application, описывающее окно и приложение соответственно. Точка входа помечена атрибутом [STAThread]. Это обязательное условие для любого приложения WPF, оно связано с моделью многопоточности WPF. В методе Main() создаётся и настраивается объект окна, затем создаётся объект приложения. Вызов метода Run() приводит к отображению окна и запуску цикла обработки событий (окно ждёт действий пользователя). Чтобы скомпилировать приложение, необходимо указать ссылки на стандартные сборки PresentationCore.dll, PresentationFramework.dll, System.Xaml.dll и WindowsBase.dll.



Отметим, что приложение допускает другую организацию. Вместо настройки объекта класса Window можно создать наследник этого класса и выполнить настройку в конструкторе наследника или в специальном методе:

// наследник класса Window, описывающий пользовательское окно

public class MainWindow : Window

{

public MainWindow()



{

Title = "WPF Program";

Content = "Hello, world";

}

}



В Visual Studio приложениям WPF соответствует отдельный шаблон проекта. Этот шаблон ориентирован на использование XAML, поэтому в случае однооконного приложения будет создан следующий набор файлов:

– файл MainWindow.xaml.cs на языке C# и MainWindow.xaml на языке XAML описывают класс MainWindow, являющийся наследником класса Window;

– файлы App.xaml.cs и App.xaml описывают класс App, наследник класса Application.

Ниже приведён файл MainWindow.xaml для простейшего окна:



xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="WPF Program" Height="250" Width="400">



содержимое окна -->

Hello, world

Window>

Visual Studio выполняет компиляцию проекта, созданного по шаблону WPF, в два этапа. Вначале для каждого файла XAML генерируется два файла, сохраняемых в подкаталогах obj\Debug или obj\Release (в зависимости от цели компиляции):

1. файл с расширением *.baml (BAML-файл) – двоичное представление XAML-файла, внедряемое в сборку в виде ресурса;

2. файл с расширением *.g.cs – разделяемый класс, который соответствует XAML-описанию. Этот класс содержит поля для всех именованных элементов XAML и реализацию метода InitializeComponent(), загружающего BAML-данные из ресурсов сборки. Кроме этого, класс содержит метод, подключающий все обработчики событий.

На втором этапе сгенерированные файлы компилируются вместе с исходными файлами C# в единую сборку (рис. 2).

Рис. 2. Компиляция приложения WPF в Visual Studio.




Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7   8   9   ...   22


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал