Читаем Язык программирования C#9 и платформа .NET5 полностью

Расширения разметки предлагают способ аккуратного расширения грамматики XAML новой функциональностью. Расширение разметки внутренне представлено как класс, производный от MarkupExtension. Следует отметить, что необходимость в построении специального расширения разметки возникает крайне редко. Тем не менее, некоторые ключевые слова XAML (вроде х:Array, x:Null, х:Static и х:Туре) являются замаскированными расширениями разметки!

Расширение разметки помещается между фигурными скобками:

<Элемент УстанавливаемоеСвойство = "{ РасширениеРазметки }" />

Чтобы увидеть расширение разметки в действии, введите в редакторе Kaxaml следующий код:

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

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

  xmlns:CorLib="clr-namespace:System;assembly=mscorlib">

 

   

   

   

   

   

     

       

          Sun Kil Moon

          Red House Painters

          Besnard Lakes

       

     

   

 

Прежде всего, обратите внимание, что определение содержит новое объявление пространства имен XML, которое позволяет получать доступ к пространству имен System сборки mscorlib.dll. После установления этого пространства имен XML первым делом с помощью расширения разметки х:Static извлекаются значения свойств OSVersion и ProcessorCount класса System.Environment.

Расширение разметки х:Туре обеспечивает доступ к описанию метаданных указанного элемента. Здесь содержимому элементов Label просто присваиваются полностью заданные имена типов Button и System.Boolean из WPF.

Наиболее интересная часть показанной выше разметки связана с элементом ListBox. Его свойство Itemsourсе устанавливается в массив строк, полностью объявленный в разметке. Взгляните, каким образом расширение разметки х:Array позволяет указывать набор подэлементов внутри своей области действия:

  Sun Kil Moon

  Red House Painters

  Besnard Lakes

На заметку! Предыдущий пример XAML служит только для иллюстрации расширения разметки в действии. Как будет показано в главе 25, существуют гораздо более простые способы наполнения элементов управления ListBox.

На рис. 24.3 представлена разметка этого элемента в редакторе Kaxaml.

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

<p id="AutBody_Root1092"><strong>Построение приложений WPF с использованием Visual Studio</strong></p>

Давайте выясним, как Visual Studio может упростить создание приложений WPF. Хотя строить приложения WPF можно и с применением Visual Studio Code, в Visual Studio Code отсутствует поддержка соответствующих визуальных конструкторов. С другой стороны, благодаря развитой поддержке XAML среда Visual Studio обеспечивает более высокую продуктивность при создании приложений WPF.

На заметку! Далее будут представлены основные особенности применения Visual Studio для построения приложений WPF. В последующих главах при необходимости будут иллюстрироваться дополнительные аспекты этой IDE-среды.

<p id="AutBody_Root1093"><strong>Шаблоны проектов WPF</strong></p>

В диалоговом окне New Project (Новый проект) среды Visual Studio определен набор проектов приложений WPF, в том числе WPF Арр (Приложение WPF), WPF Custom Control Library (Библиотека специальных элементов управления WPF) и WPF User Control Library (Библиотека пользовательских элементов управления WPF). Создайте новый проект WPF Арр (.NET) по имени WpfTesterApp.

На заметку! При выборе шаблона проектов приложений WPF удостоверьтесь в том, что выбираете шаблон, который содержит в своем названии (.NET), но не (.NET Framework). Текущая версия .NET Core была переименована в просто .NET 5. Если вы выберете шаблон с (.NET Framework) в названии, то будете строить свое приложение, используя .NET Framework 4.x.

Кроме установки комплекта SDK в Microsoft.NET.Sdk вы получите начальные классы, производные от Window и Application, каждый из которых представлен с применением XAML и файла кода С#.

<p id="AutBody_Root1094"><strong>Панель инструментов и визуальный конструктор/редактор XAML</strong></p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных