Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Янин В.Л. "Новгородские акты XII-XV Хронологический комментарий" (История)

Майринк Г. "Белый доминиканец " (Художественная литература)

Хусаинов А. "Голоса вещей. Альманах том 2" (Художественная литература)

Петров Г.И. "Отлучение Льва Толстого " (Художественная литература)

Хусаинов А. "Голоса вещей. Альманах том 1 " (Художественная литература)
Реклама

Windows presentation foundation with - MacDonald M.

MacDonald M. Windows presentation foundation with — Вильямс , 2008. — 928 c.
ISBN 978-5-8459-1429-3
Скачать (прямая ссылка): wpfwindowspresente2008.pdf
Предыдущая << 1 .. 17 18 19 20 21 22 < 23 > 24 25 26 27 28 29 .. 473 >> Следующая

Большинству разработчиков не приходится беспокоиться о преобразовании XAML в BAML, потому что компилятор это делает “за кулисами”. Однако можно использовать XAML без предварительной компиляции. Это может иметь смысл в сценариях, когда часть пользовательского интерфейса должна быть применена прямо во время выполнения (например, извлечена из базы данных в виде блока дескрипторов XAML). Ниже, в разделе “Загрузка и компиляция XAML’ настоящей главы, вы увидите, как это работает.
Book_Pro_WPF-2.mdb 48 19.05.2008 18:09:38
XAML 49
Основы XAML
Стандарт XAML достаточно очевиден, если понять несколько его основополагающих правил.
• Каждый элемент в документе XAML отображается на экземпляр класса .NET. Имя элемента соответствует имени класса в точности. Например, элемент <Button> сообщает WPF, что должен быть создан объект Button.
• Как и любой документ XML, код XAML допускает вложение одного элемента внутрь другого. Как вы увидите, XAML дает каждому классу гибкость в принятии решения относительно того, как справиться с ситуацией. Однако вложение обычно является способом выразить включение (containment). Другими словами, если вы видите элемент Button внутри элемента Grid, ваш пользовательский интерфейс, вероятно, включает Grid, содержащий внутри себя Button.
• Вы можете устанавливать свойства каждого класса через атрибуты. Однако в некоторых ситуациях атрибуты не достаточно мощны, чтобы справиться с этой работой. В этих случаях вам понадобятся вложенные дескрипторы со специальным синтаксисом.
Совет. Если вы — полный новичок в XML, то вам лучше изучить его основы и только затем заняться XAML. Чтобы быстро это сделать, обратитесь к бесплатному Web-руководству по адресу
http://www.w3schools.com/xml.
Прежде чем продолжить, взгляните на следующий простейший документ XAML, представляющий новое пустое окно (как оно создано в Visual Studio). Строки пронумерованы для облегчения ссылок на них.
1 <Window x:Class="WindowsApplication1.Window1"
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 Title="Window1" Height="300" Width="300">
5
6 <Grid>
7 </Grid>
8 </Window>
Этот документ включает всего два элемента — элемент верхнего уровня Window, который представляет все окно, и Grid, куда вы можете поместить свои элементы управления. Хотя вы можете использовать любой элемент верхнего уровня, приложение WPF полагается только на несколько из них:
• Window;
• Page (похож на Window, но используется для приложений с навигацией);
• Application (который определяет ресурсы приложения и начальные установки).
Как во всех документах XML, может существовать только один элемент верхнего уровня. В предыдущем примере это означает, что как только вы закрываете элемент Window дескриптором </Window>, вы завершаете документ. Никакое дополнительное содержание уже не допускается.
Если вы посмотрите на стартовый дескриптор элемента Window, то найдете там несколько интересных атрибутов, включая имя класса и два пространства имен XML (описанных в последующих разделах). Также вы найдете три свойства, показанных ниже:
4 Title="Window1" Height="300" Width="300">
Book_Pro_WPF-2.mdb 49 19.05.2008 18:09:38
50 Глава 2
Каждый атрибут соответствует отдельному свойству в классе Window. В конце концов, это инструктирует WPF о необходимости создать окно с заголовком Window1 размером 300x300 единиц.
На заметку! Как вам известно из главы 1, WPF использует относительную систему измерения, которая не похожа на то, чего ожидают большинство разработчиков Windows. Вместо того чтобы позволить задавать размеры в физических пикселях, WPF использует независимые от устройства единицы, которые могут масштабироваться для заполнения разных разрешений монитора и определены, как 1/96 часть дюйма. Это значит, что окно размером 300x300 единиц из предыдущего примера будет визуализировано как окно в 300x300 пикселей, если ваша системная установка DPI составляет стандартные 96 dpi. Однако в системах с увеличенным системным DPI будет использовано больше пикселей. Подробности вы найдете в главе 1.
Пространства имен XAML
Ясно, что недостаточно просто указать имя класса. Анализатору XAML также нужно знать пространство имен .NET, где находится этот класс. Например, класс Window может находиться в нескольких пространствах имен — он может ссылаться на класс System.Windows.Window, на класс в компоненте от независимого разработчика, или же на класс, определенный в вашем приложении. Чтобы определить, какой именно класс нужен вам на самом деле, анализатор XAML проверяет пространство имен XML, к которому относится элемент.
Вот как это работает. В примере документа, показанном ранее, определено два пространства имен:
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
На заметку! Пространства имен объявляются посредством атрибутов. Эти атрибуты могут помещаться внутри начального дескриптора любого элемента. Однако согласно принятым соглашениям, все пространства имен, которые вам нужно использовать в документе, должны быть объявлены в самом первом дескрипторе, как это сделано в данном примере. Как только пространство имен объявлено, оно может использоваться в любом месте вашего документа.
Предыдущая << 1 .. 17 18 19 20 21 22 < 23 > 24 25 26 27 28 29 .. 473 >> Следующая