Чтение онлайн

на главную

Жанры

Язык программирования C#9 и платформа .NET5
Шрифт:

В настоящее время ваша разметка довольно проста, т.к. было определено лишь несколько элементов управления внутри начального элемента

<Grid>
. Тем не менее, необходимо найти окно Document Outline (Схема документа), которое по умолчанию располагается в левой части окна IDE-среды (если обнаружить его не удается, то данное окно можно открыть через пункт меню View? Other Windows (Вид?Другие окна)). При активном окне визуального конструктора XAML (не окне с файлом кода С#) в IDE-среде можно заметить, что в окне Document Outline отображаются вложенные элементы (рис. 24.9).

Этот

инструмент также предоставляет способ временного сокрытия заданного элемента (или набора элементов) на поверхности визуального конструктора, а также блокировки элементов с целью предотвращения их дальнейшего редактирования. В главе 25 вы увидите, что окно Document Outline предлагает много других возможностей для группирования выбранных элементов внутри новых диспетчеров компоновки (помимо прочих средств).

Включение и отключение отладчика XAML

После запуска приложения на экране появляется окно

МаinWindow
. Кроме того, можно также видеть интерактивный отладчик (рис. 24.10).

При желании отключить его понадобится найти настройки, касающиеся отладки XAML, на вкладке Tools?Options?Debugging?Hot Reload (Сервис?Параметры?Отладкам?Горячая перезагрузка). Снятие отметки с верхнего флажка предотвращает перекрытие окон приложения окном отладчика (рис. 24.11).

Исследование файла Арр.xaml

Как проект узнает, какое окно отображать? Еще большая интрига в том, что в результате исследования файлов кода, относящихся к приложению, метод

Main
обнаружить не удастся. Вы уже знаете, что приложения обязаны иметь точку входа, так как же .NET Core становится известно, каким образом запускать приложение? К счастью, оба связующих элемента автоматически поддерживаются через шаблоны Visual Studio и инфраструктуру WPF.

Чтобы разгадать загадку, какое окно открывать, в файле

Арр.xaml
посредством разметки определен класс приложения. В дополнение к определениям пространств имен он определяет свойства приложения, такие как
StartupUri
, ресурсы уровня приложения (рассматриваемые в главе 27) и специфические обработчики для событий приложения вроде
Startup
и
Exit
. В
StartupUri
указано окно, подлежащее загрузке при запуске. Откройте файл
Арр.xaml
и проанализируйте разметку в нем:

<Application x:Class="WpfTesterApp.App"

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

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

xmlns:local="clr-namespace:WpfTesterApp"

StartupUri="MainWindow.xaml">

<Application.Resources>

</Application.Resources>

</Application>

С

применением визуального конструктора XAML и средства завершения кода Visual Studio добавьте обработчики для событий
Startup
и
Exit
. Обновленная разметка XAML должна выглядеть примерно так (изменение выделено полужирным):

<Application x:Class="WpfTesterApp.App"

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

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

xmlns:local="clr-namespace:WpfTesterApp"

StartupUri="MainWindow.xaml" Startup="App_OnStartup" Exit="App_OnExit">

<Application.Resources>

</Application.Resources>

</Application>

Содержимое файла

Арр.xaml.cs
должно быть похожим на приведенное ниже:

public partial class App : Application

{

private void App_OnStartup(object sender, StartupEventArgs e)

{

}

private void App_OnExit(object sender, ExitEventArgs e)

{

}

}

Обратите внимание, что класс помечен как частичный (

partial
). На самом деле все оконные классы в отделенном коде для файлов XAML помечаются как частичные. В этом-то и кроется решение вопроса, где находится метод
Main
. Но сначала необходимо выяснить, что происходит при обработке файлов XAML утилитой
msbuild.ехе
.

Отображение разметки XAML окна на код C#

Когда утилита

msbuild.exe
обрабатывает файл
*.csproj
, она создает для каждого файла XAML в проекте три файла:
*.g.cs
(где
g
означает autogenerated (автоматически сгенерированный)),
*.g.i.cs
(где
i
означает /ntelliSense) и
*.baml
(для BAML (Binary Application Markup Language — двоичный язык разметки приложений)). Такие файлы сохраняются в каталоге
\obj\Debug
(и могут просматриваться в окне Solution Explorer за счет щелчка на кнопке Show All Files (Показать все файлы )).

Поделиться:
Популярные книги

Измена. Жизнь заново

Верди Алиса
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Жизнь заново

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Безымянный раб

Зыков Виталий Валерьевич
1. Дорога домой
Фантастика:
фэнтези
9.31
рейтинг книги
Безымянный раб

Я тебя не отпускал

Рам Янка
2. Черкасовы-Ольховские
Любовные романы:
современные любовные романы
6.55
рейтинг книги
Я тебя не отпускал

Меняя маски

Метельский Николай Александрович
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
9.22
рейтинг книги
Меняя маски

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Идеальный мир для Социопата 6

Сапфир Олег
6. Социопат
Фантастика:
боевая фантастика
рпг
6.38
рейтинг книги
Идеальный мир для Социопата 6

Огни Аль-Тура. Завоеванная

Макушева Магда
4. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Аль-Тура. Завоеванная

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Чехов. Книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
альтернативная история
5.00
рейтинг книги
Чехов. Книга 3