Модель программирования

Оценить
(0 голоса)

Библиотека классов WPF состоит примерно из 1600 открытых (public) типов и более чем 3500 классов. Поэтому она имеет значительно более обширный интерфейс прикладного программирования (API), чем ASP.NET или Windows Forms. Как и следует ожидать от биб­лиотеки классов .NET, происхождение всех этих классов восходит к System.Object. Кроме того, большинство классов WPF основаны на так называемых "базовых элементах": это классы UIElement, FrameworkElement, ContentElement и FrameworkContentElement. Эти классы отвечают за основное представление и компоновку элементов и содержатся в пространстве имен System. Windows.

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

□    visual— этот класс является основным модулем визуализации в WPF; UIElement наследует от visual — так же, как и классы более высокого уровня (такие как Button);r

□    DispatcherObject — этот класс реализует модель многопоточности в WPF;

□    Control — это базовый класс для элементов управления в WPF;

□    Application— класс Application инкапсулирует все приложения WPF; он обеспе­чивает сервисы жизненного цикла приложения, в том числе Run (для запуска приложе­ния) и Exit (для завершения приложения).

Как и следовало ожидать, библиотека классов WPF обеспечивает также все основные эле­менты управления, которые обычно имеются в приложениях Windows — такие как кнопки, метки, списки и текстовые поля.

Следующий фрагмент кода показывает создание экземпляра кнопки WPF и присваивание ей текста "Push Me". Обратите внимание, что конструкции элементов управления выглядят знакомыми, но сама объектная модель несколько отличается; объект Button в WPF не име­ет свойства Text, как мы привыкли того ожидать от кнопки в ASP.NET или WinForms. Вме­сто этого он предоставляет свойство Content.

System.Windows.Controls.Button btn = new Button(); btn.Content = "Push Me";

Помимо использования процедурного кода (подобного показанному здесь), WPF также по­зволяет нам создавать объекты и манипулировать ими декларативным образом — при по­мощи разметки, а именно — при помощи XAML.

Язык разметки Extensible Application Markup Language (XAML)

Язык XAML является диалектом XML, который можно использовать для описания структу­ры презентационного уровня приложения WPF (например, для создания экземпляров эле­ментов управления, внешнего вида и компоновки).

XAML— это новый язык, и он является главным средством, при помощи которого различ­ные инструменты WPF декларативным образом создают объекты и настраивают свойства. Поэтому возникает соблазн сравнить XAML и HTML: оба они являются декларативными способами описания объектов. Но XAML фактически тесно связан с .NET Framework. В действительности XAML является обобщенным способом создания и манипулирования объектами .NET. Инструменты WPF (такие как визуальный конструктор WPF Designer в Visual Studio) используют XAML, но строго говоря, XAML не является частью WPF. Вы можете написать целое XAML-приложение исключительно на вашем любимом управляе­мом языке. Но поскольку XAML (как модель программирования) приносит с собой некото­рые важные нововведения, то он очень интенсивно используется всеми инструментами фирмы Microsoft (и других фирм) не только в области WPF, но и за ее пределами. Напри­мер, он используется также в Windows Workflow Foundation для описания рабочих процес­сов.

Точно так же как и раньше, давайте создадим объект Button и присвоим кнопке некий текст — но на этот раз всю работу сделаем при помощи XAML:

<Button Content="Push Me"x/Button>

\\яи мы могли бы написать этот код так:

<Button>Push Me</Button>

Примечание

Функциональность XAML является подмножеством того, что можно сделать в .NET при помощи кода. Иначе говоря, все, что вы можете сделать в XAML, вы можете сде­лать также и в коде, но не наоборот.

В типичном WPF-приложений XAML сосуществует с управляемым кодом при помощи все той же парадигмы частичных классов, введенной в ASP.NET. Иначе говоря, у нас может иметься файл MainForm.xaml с внешним видом окна и файл MainForm.xaml.vb, который содержит код, реагирующий на ввод пользователя в этой форме. Мы увидим все это в дей­ствии чуть позже в этой же главе, когда будем подробно рассматривать визуальный конст­руктор WPF.

Если при создании WPF-приложения можно обойтись без XAML, то почему он так востре­бован? Поскольку вы можете создавать объекты пользовательского интерфейса как на XAML, так и на управляемом коде, то зачем вообще XAML нужен? Однако есть несколько областей, где декларативный синтаксис чрезвычайно важен.

Подробнее в этой категории: « .NET фирма Microsoft Простота синтаксиса »
Простота синтаксиса
Совместная работа
Введение в визуальный конструктор WPF
XAML и панели конструирования
Окно свойств Property

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.