Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Роль класса System.Windows.Threading.DispatcherObject
Последним базовым классом для типа
Window
System.Object
DispatherObject
Dispatcher
System.Windows.Threading.Dispatcher
Dispatcher
Dispatcher
Синтаксис XAML для WPF
Приложения WPF производственного уровня обычно будут использовать отдельные инструменты для генерации необходимой разметки XAML. Как бы ни были удобны такие инструменты, важно понимать общую структуру языка XAML. Для содействия процессу изучения доступен популярный (и бесплатный) инструмент, который позволяет легко экспериментировать с XAML.
Введение в Kaxaml
Когда вы только приступаете к изучению грамматики XAML, может оказаться удобным в применении бесплатный инструмент под названием Kaxaml. Этот популярный редактор/анализатор XAML доступен по ссылке
https://github.com/punker76/kaxaml
На заметку! Во многих предшествующих изданиях книги мы направляли читателей на веб-сайт
www.kaxaml.com
https://github.com/punker76
https://github.com/punker76/kaxaml/releases
Редактор Kaxaml полезен тем, что не имеет никакого понятия об исходном коде С#, обработчиках ошибок или логике реализации. Он предлагает намного более прямолинейный способ тестирования фрагментов XAML, нежели использование полноценного шаблона проекта WPF в Visual Studio. К тому же Kaxaml обладает набором интегрированных инструментов, в том числе средством выбора цвета, диспетчером фрагментов XAML и даже средством "очистки XAML", которое форматирует разметку XAML на основе заданных настроек. Открыв Kaxaml в первый раз, вы найдете в нем простую разметку для элемента управления
<Page>
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
</Grid>
</Page>
Подобно объекту
Window
Page
Window
Page
NavigationWindow
Frame
<Page>
<Window>
На заметку! Если в окне разметки Kaxaml заменить элементы
<Page>
</Page>
<Window>
</Window>
В качестве начального теста введите следующую разметку в панели XAML, находящейся в нижней части окна Kaxaml:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<b><!-- Кнопка со специальным содержимым --></b>
<Button Height="100" Width="100">
<Ellipse Fill="Green" Height="50" Width="50"/>
</Button>
</Grid>
</Page>
В верхней части окна Kaxaml появится визуализированная страница (рис. 24.2).

Во время работы с Kaxaml помните, что данный инструмент не позволяет писать разметку, которая влечет за собой любую компиляцию кода (но разрешено использовать
х:Name
х:Class
FieldModifier
ClassModifier
Пространства имен XML и "ключевые слова" XAML
Корневой элемент XAML-документа WPF (такой как
<Window>
<Page>
<UserControl>
<Application>
<Page
<b> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"</b>
<b> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></b>
<Grid>
</Grid>