Программирование >>  Windows foundation 

[ 1 ] 2 3 4 ... 15


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-при-ложения



[ 1 ] 2 3 4 ... 15

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика