Этот инструмент также предоставляет способ временного сокрытия заданного элемента (или набора элементов) на поверхности визуального конструктора, а также блокировки элементов с целью предотвращения их дальнейшего редактирования. В главе 25 вы увидите, что окно Document Outline
предлагает много других возможностей для группирования выбранных элементов внутри новых диспетчеров компоновки (помимо прочих средств).Включение и отключение отладчика XAML
После запуска приложения на экране появляется окно МаinWindow
При желании отключить его понадобится найти настройки, касающиеся отладки XAML, на вкладке Tools
?Options?Debugging?Hot Reload (Сервис?Параметры?Отладкам?Горячая перезагрузка). Снятие отметки с верхнего флажка предотвращает перекрытие окон приложения окном отладчика (рис. 24.11).Исследование файла Арр.xaml
Как проект узнает, какое окно отображать? Еще большая интрига в том, что в результате исследования файлов кода, относящихся к приложению, метод Main
Чтобы разгадать загадку, какое окно открывать, в файле Арр.xaml
StartupUri, ресурсы уровня приложения (рассматриваемые в главе 27) и специфические обработчики для событий приложения вроде Startup и Exit. В StartupUri указано окно, подлежащее загрузке при запуске. Откройте файл Арр.xaml и проанализируйте разметку в нем: 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"
С применением визуального конструктора XAML и средства завершения кода Visual Studio добавьте обработчики для событий Startup
Exit. Обновленная разметка XAML должна выглядеть примерно так (изменение выделено полужирным): 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"
Содержимое файла Арр.xaml.cs
public partial class App : Application
{
private void App_OnStartup(object sender, StartupEventArgs e)
{
}
private void App_OnExit(object sender, ExitEventArgs e)
{
}
}
Обратите внимание, что класс помечен как частичный (partial
Main. Но сначала необходимо выяснить, что происходит при обработке файлов XAML утилитой msbuild.ехе.Отображение разметки XAML окна на код C#
Когда утилита msbuild.exe
*.csproj, она создает для каждого файла XAML в проекте три файла: *.g.cs (где g означает auto*.g.i.cs (где i означает *.baml (для BAML (Binary Application Markup Language — двоичный язык разметки приложений)). Такие файлы сохраняются в каталоге \obj\Debug (и могут просматриваться в окне Solution Explorer за счет щелчка на кнопке Show All Files (Показать все файлы )).Чтобы их увидеть, может потребоваться щелкнуть на кнопке Refresh
(Обновить) в окне Solution Explorer, т.к. они не являются частью фактического проекта, а представляют собой артефакты построения.Чтобы сделать процесс более осмысленным, элементам управления полезно назначить имена. Назначьте имена элементам управления Button
Calendar, как показано ниже: Margin="10,10,0,0"
VerticalAlignment="Top" Width="75" Click="Button_Click">
// Для краткости разметка не показана,
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT