Рейтинговые книги
Читем онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 481 482 483 484 485 486 487 488 489 ... 642

В качестве простого примера добавьте следующий оператор кода:

private void Button_Click(object sender, RoutedEventArgs e)

{

  MessageBox.Show("You clicked the button!");

}

Обработка событий в редакторе XAML

Обрабатывать события можно и непосредственно в редакторе XAML. Например, поместите курсор мыши внутрь элемента <Window> и введите имя события MouseMove, а за ним знак равенства. Среда Visual Studio отобразит все совместимые обработчики из файла кода (если они существуют), а также пункт для создания нового обработчика событий (рис. 24.8).

Позвольте IDE-среде создать обработчик события MouseMove, введите следующий код и запустите приложение, чтобы увидеть результат:

private void MainWindow_MouseMove (object sender, MouseEventArgs e)

{

  this.Title = e.GetPosition(this).ToString();

}

На заметку! В главе 28 описаны паттерны MWM и "Команда" (Command), которые являются гораздо лучшими способами обработки событий щелчков в корпоративных приложениях.

Но если вас интересует только простое приложение, тогда обработка событий щелчков с помощью прямолинейного обработчика будет вполне приемлемой.

Окно Document Outline

Во время работы с любым основанным на XAML проектом вы определенно будете использовать значительный объем разметки для представления пользовательского интерфейса. Когда вы начнете сталкиваться с более сложной разметкой XAML, может оказаться удобной визуализация разметки для быстрого выбора элементов с целью редактирования в визуальном конструкторе Visual Studio.

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

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

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

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

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

При желании отключить его понадобится найти настройки, касающиеся отладки XAML, на вкладке ToolsOptionsDebuggingHot 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"

  <b>StartupUri=&quot;MainWindow.xaml&quot;</b>&gt;

  &lt;Application.Resources&gt;

  &lt;/Application.Resources&gt;

&lt;/Application&gt;

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

&lt;Application x:Class=&quot;WpfTesterApp.App&quot;

  xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;

  xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;

  xmlns:local=&quot;clr-namespace:WpfTesterApp&quot;

  StartupUri=&quot;MainWindow.xaml&quot; <b>Startup=&quot;App_OnStartup&quot; Exit=&quot;App_OnExit&quot;</b>&gt;

  &lt;Application.Resources&gt;

  &lt;/Application.Resources&gt;

&lt;/Application&gt;

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

1 ... 481 482 483 484 485 486 487 488 489 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий