Введение в Kaxaml
Когда вы только приступаете к изучению грамматики XAML, может оказаться удобным в применении бесплатный инструмент под названием
https://github.com/punker76/kaxaml.На заметку!
Во многих предшествующих изданиях книги мы направляли читателей на веб-сайтwww.kaxaml.com, но, к сожалению, он прекратил свою работу. Ян Каргер (https://github.com/punker76) сделал ответвление от старого кода и потрудился над его улучшением. Его версия инструмента доступна в GitHub по ссылке https://github.com/punker76/kaxaml/releases. Стоит выразить благодарность создателям за великолепный инструмент Kaxaml и Яну за то, что он сохранил его; Kaxaml помог многочисленным разработчикам изучить XAML.Редактор Kaxaml полезен тем, что не имеет никакого понятия об исходном коде С#, обработчиках ошибок или логике реализации. Он предлагает намного более прямолинейный способ тестирования фрагментов XAML, нежели использование полноценного шаблона проекта WPF в Visual Studio. К тому же Kaxaml обладает набором интегрированных инструментов, в том числе средством выбора цвета, диспетчером фрагментов XAML и даже средством "очистки XAML", которое форматирует разметку XAML на основе заданных настроек. Открыв Kaxaml в первый раз, вы найдете в нем простую разметку для элемента управления
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
Подобно объекту Window
Page содержит разнообразные диспетчеры компоновки и элементы управления. Тем не менее, в отличие от Window объекты Page не могут запускаться как отдельные сущности. Взамен они должны помещаться внутрь подходящего хоста, такого как NavigationWindow или Frame. Хорошая новость в том, что в элементах и можно вводить идентичную разметку.На заметку!
Если в окне разметки Kaxaml заменить элементы и элементами и , тогда можно нажать клавишу <F5> и отобразить на экране новое окно.В качестве начального теста введите следующую разметку в панели XAML, находящейся в нижней части окна Kaxaml:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
В верхней части окна Kaxaml появится визуализированная страница (рис. 24.2).
Во время работы с Kaxaml помните, что данный инструмент не позволяет писать разметку, которая влечет за собой любую компиляцию кода (но разрешено использовать х:Name
х:Class (для указания файла кода), ввод имен обработчиков событий в разметке или применение любых ключевых слов XAML, которые также предусматривают компиляцию кода (вроде FieldModifier или ClassModifier). Попытка поступить так приводит к ошибке разметки.Пространства имен XML и "ключевые слова" XAML
Корневой элемент XAML-документа WPF (такой как
, или ) почти всегда будет ссылаться на два заранее определенные пространства имен XML: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
Первое пространство имен XML, http://schemas.microsoft.com/winfx/2006/xaml/presentation
*.xaml (System.Windows, System.Windows.Controls, System.Windows.Data, System.Windows.Ink, System.Windows.Media, System.Windows.Navigation и т.д.).Это отображение "один ко многим" в действительности жестко закодировано внутри сборок WPF (WindowsBase.dll
PresentationCore.dll и PresentationFramework.dll) с применением атрибута [XmlnsDefinition] уровня сборки. Например, если открыть браузер объектов Visual Studio и выбрать сборку PresentationCore.dll, то можно увидеть списки, подобные показанному ниже, в котором импортируется пространство имен System.Windows:[assembly: XmlnsDefinition(
"http://schemas.microsoft.com/winfx/2006/xaml/presentation",
"System.Windows")]
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT