|
Программирование >> Windows foundation
Windows Foundation Ниже перечислены основные темы, которые мы рассмотрим в настоящей главе: □ обзор WPF; □ фигуры, как базовые элементы рисования; □ масштабирование, вращение и наклоны с помощью трансформаций; □ различные виды кистей для заливки элементов; □ элементы управления WPF и их возможности; □ как определяются компоновки панелей WPF; □ механизм обработки событий WPF; □ стили, шаблоны и ресурсы; Обзор Одно из важнейших преимуществ WPF заключается в том, что работа легко может быть разделена между дизайнерами и разработчиками. Результат работы дизайнера может быть непосредственно использован разработчиком. Чтобы такое стало возможно, вы должны понимать XAML. Рассматривая первую тему настоящей главы, мы представим обзор WPF и дадим вам достаточно информации для понимания принципов XAML, а также о способах взаимодействия дизайнеров и разработчиков. WPF состоит из нескольких сборок, содержащих в себе тысячи классов. Чтобы вы могли легко ориентироваться в огромном множестве классов и легко находить то, что вам нужно, наш обзор включает иерархию классов и пространств имен WPF. XAML XAML (XML for Application Markup Language - XML для языка разметки приложений) представляет собой XML-синтаксис, используемый для определения иерархической структуры пользовательского интерфейса. В следующей строке вы можете видеть объявление кнопки по имени buttonl с меткой Click Me! . Элемент <Button> специфицирует использование класса Button: <Button Name= button1 >Click Me!</Button> За элементом XAML всегда стоит класс .NET. С помсщгю атрибутов и дочерних элементов вы устанавливаете значения свойств и определяете методы-обработчики событий. Для тестирования примера кода XAML вы можете запустить утилиту XAMLPad.exe (рис. 34.1) и ввести код XAMl в поле редактирования. Вы можете вписать элемент <Button> внутрь элементов <Page> и <Grid>, которые уже подготовлены для XAMLPad. Благодаря XAMLPad вы можете видеть выходной результат XAML немедленно. Рис. 34.1. Тестирование приложения в утилите XAMLPad.exe Код XAML может быть интерпретирован исполняющей системой WPF, но также он может быть скомпилирован в BAMl (Binary Application Markup Language - бинарный язык разметки приложений), что и делается по умолчанию в проектах Visual Studio WPF. BAML добавляется в исполняемый файл в виде ресурса. Вместо написания XAML вы можете также создать кнопку в коде C#. Вы можете создать нормальное консольное приложение C#, добавить ссылки на сборки WindowsBase, PresentationCore и PresentationFramework, и написать следующий код. В методе Main() создается объект Window из пространства имен System.Windows, и устанавливается его свойство Title. Затем создается объект Button из пространства имен System.Windows.Controls, устанавливается его Content, а Content окна устанавливается в кнопку. Метод Run() класса Application отвечает за обработку сообщений Windows. using System; using System.Windows; using System.Windows.Controls; namespace Wrox.ProCSharp.WPF class Program [STAThread] static void Main() { Window mainWindow = new Window(); mainWindow.Title = WPF Application ; Button button1 = new Button(); button1.Content = Click Me! ; mainWindow.Content = button1; button1.Click += (sender, e) => MessageBox.Show( Button clicked ); Application app = new Application(); app.Run(mainWindow); Класс Application также может быть определен посредством XAML. WPF-проект Visval Studio включает файл App.xaml, содержащий в себе свойства и StartupUri класса Application. Запустив приложение, вы получите окно, содержащее кнопку, как показано на рис. 34.2. Как видите, программирование с использованием WPF очень похоже на программирование с применением Windows Forms, но с небольшим отличием, заключающимся в том, что Button имеет свойство Content вместо Text. Однако по сравнению с созданием форм пользовательского интерфейса в коде, XAML обладает некоторыми замечательными преимуществами. Благодаря XAML дизайнер и разработчик могут сотрудничать намного лучше. Дизайнер может работать в коде XAML и проектировать стильный пользовательский интерфейс, а разработчик - добавлять функциональность в отделенный код на C#. Благодаря XAML намного легче отделить пользовательский интерфейс от функциональности. Вы можете непосредственно взаимодействовать с элементами, определенными в XAML из кода C#, используя отделенный код и XAML. Вам нужно только определить имя элемента и использовать то же имя как переменную для изменения свойств и вызова методов. Кнопка имеет свойство Content вместо свойства Text, поскольку кнопка может показывать все что угодно. Вы можете добавлять к содержимому кнопки текст, но с тем же успехом и графику, и окно списка, и видеоклип - короче говоря, все, что пожелаете. Свойства как атрибуты Перед тем, как приступить к работе с XAML, вы должны знать важные характеристики синтаксиса XAML. Вы можете использовать атрибуты XML для специфицирования свойств классов. В следующем примере демонстрируется установка свойств Content и Background класса Button. <Button Content= Click Me! Background= LightGreen /> Рис. 34.2. Работа примера WPF-при-ложения
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |