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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 495 496 497 498 499 500 501 502 503 ... 642

  {

<b>    // Закрыть это окно.</b>

    this.Close();

  }

  protected void ToolsSpellingHints_Click(object sender, RoutedEventArgs args)

  {

  }

  protected void MouseEnterExitArea(object sender, RoutedEventArgs args)

  {

  }

  protected void MouseEnterToolsHintsArea(object sender, RoutedEventArgs args)

  {

  }

  protected void MouseLeaveArea(object sender, RoutedEventArgs args)

  {

  }

}

Визуальное построение меню

Наряду с тем, что всегда полезно знать, как вручную определять элементы в XAML, такая работа может быть слегка утомительной. В Visual Studio поддерживается возможность визуального конструирования систем меню, панелей инструментов, строк состояния и многих других элементов управления пользовательского интерфейса. Щелчок правой кнопкой мыши на элементе управления Menu приводит к открытию контекстного меню, содержащего Add MenuItem (Добавить MenuItem), который позволяет добавить новый пункт меню в элемент управления Menu. После добавления набора пунктов верхнего уровня можно заняться добавлением пунктов подменю, разделителей, развертыванием и свертыванием самого меню и выполнением других связанных с меню операций посредством второго щелчка правой кнопкой мыши.

В оставшейся части примера MyWordPad вы увидите финальную сгенерированную разметку XAML; тем не менее, посвятите некоторое время экспериментированию с визуальными конструкторами.

Построение панели инструментов

Панели инструментов (представляемые в WPF классом ToolBar) обычно предлагают альтернативный способ активизации пунктов меню. Поместите следующую разметку непосредственно после закрывающего дескриптора определения Menu:

&lt;!-- Поместить панель инструментов под областью меню --&gt;

&lt;ToolBar DockPanel.Dock =&quot;Top&quot; &gt;

  &lt;Button Content =&quot;Exit&quot; MouseEnter =&quot;MouseEnterExitArea&quot;

      MouseLeave =&quot;MouseLeaveArea&quot; Click =&quot;FileExit_Click&quot;/&gt;

  &lt;Separator/&gt;

  &lt;Button Content =&quot;Check&quot; MouseEnter =&quot;MouseEnterToolsHintsArea&quot;

      MouseLeave =&quot;MouseLeaveArea&quot; Click =&quot;ToolsSpellingHints_Click&quot;

      Cursor=&quot;Help&quot; /&gt;

&lt;/ToolBar&gt;

Ваш элемент управления ToolBar образован из двух элементов управления Button, которые предназначены для обработки тех же самых событий теми же методами из файла кода. С помощью такого приема можно дублировать обработчики для обслуживания и пунктов меню, и кнопок панели инструментов. Хотя в данной панели применяются типичные нажимаемые кнопки, вы должны принимать во внимание, что тип ToolBar "является" ContentControl, а потому на его поверхность можно помещать любые типы (скажем, раскрывающиеся списки, изображения и графику). Еще один интересный аспект связан с тем, что кнопка Check (Проверить) поддерживает специальный курсор мыши через свойство Cursor.

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

На заметку! Элемент Toolbar может быть дополнительно помещен внутрь элемента ToolBarTray, который управляет компоновкой, стыковкой и перетаскиванием для набора объектов ToolBar.

Построение строки состояния

Элемент управления строкой состояния (StatusBar) стыкуется с нижней частью DockPanel и содержит единственный элемент управления TextBlock, который ранее в главе не использовался. Элемент TextBlock можно применять для хранения текста с форматированием вроде выделения полужирным и подчеркивания, добавления разрывов строк и т.д. Поместите приведенную ниже разметку сразу после предыдущего определения элемента управления ToolBar:

<b>&lt;!-- Разместить строку состояния внизу --&gt;</b>

&lt;StatusBar DockPanel.Dock =&quot;Bottom&quot; Background=&quot;Beige&quot; &gt;

  &lt;StatusBarItem&gt;

    &lt;TextBlock Name=&quot;statBarText&quot; Text=&quot;Ready&quot;/&gt;

  &lt;/StatusBarItem&gt;

&lt;/StatusBar&gt;

Завершение проектирования пользовательского интерфейса

Финальный аспект проектирования нашего пользовательского интерфейса связан с определением поддерживающего разделители элемента Grid, в котором определены две колонки. Слева находится элемент управления Expander, помещенный внутрь StackPanel, который будет отображать список предполагаемых вариантов правописания, а справа — элемент TextBox с поддержкой многострочного текста, линеек прокрутки и включенной проверкой орфографии. Элемент Grid может быть целиком размещен в левой части родительской панели DockPanel. Чтобы завершить определение пользовательского интерфейса окна, добавьте следующую разметку XAML, расположив ее непосредственно под разметкой, которая описывает StatusBar:

&lt;Grid DockPanel.Dock =&quot;Left&quot; Background =&quot;AliceBlue&quot;&gt;

<b>  &lt;!-- Определить строки и колонки --&gt;</b>

1 ... 495 496 497 498 499 500 501 502 503 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

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