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

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

Читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Вашей целью является конструирование компоновки, в которой главное окно имеет расположенную в верхней части систему меню, под ней — панель инструментов и в нижней части окна — строку состояния. Строка состояния будет содержать область для текстовых подсказок, которые отображаются при выборе пользователем пункта меню (или кнопки в панели инструментов). Система меню и панель инструментов предоставят триггеры пользовательского интерфейса для закрытия приложения и отображения вариантов правописания в виджете Expander.

На рис. 25.14 показана начальная компоновка; она также иллюстрирует возможности правописания в рамках инфраструктуры WPF.

Чтобы приступить к построению интересующего пользовательского интерфейса, модифицируйте начальное определение XAML типа Window для использования дочернего элемента DockPanel вместо стандартного элемента управления Grid:

<Window x:Class="MyWordPad.MainWindow"

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

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

  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

  xmlns:local="clr-namespace:MyWordPad"

    mc:Ignorable="d"

    Title="My Spell Checker" Height="450" Width="800">

  <! -- Эта панель устанавливает содержимое окна -->

  <DockPanel>

  </DockPanel>

</Window>

Построение системы меню

Системы меню в WPF представлены классом Menu, который поддерживает коллекцию объектов MenuItem. При построении системы меню в XAML каждый объект MenuItem можно заставить обрабатывать разнообразные события, наиболее примечательным из которых является Click, возникающее при выборе подэлемента конечным пользователем. В рассматриваемом примере создаются два пункта меню верхнего уровня (File (Файл) и Tools (Сервис); позже будет построено меню Edit (Правка)), которые содержат в себе подэлементы Exit (Выход) и Spelling Hints (Подсказки по правописанию) соответственно.

В дополнение к обработке события Click для каждого подэлемента необходимо также обработать события MouseEnter и MouseExit, которые применяются для установки текста в строке состояния. Добавьте в контекст элемента DockPanel следующую разметку:

<b>&lt;!-- Стыковать систему меню к верхней части —&gt;</b>

&lt;Menu DockPanel.Dock =&quot;Top&quot;

    HorizontalAlignment=&quot;Left&quot; Background=&quot;White&quot; BorderBrush =&quot;Black&quot;&gt;

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

  &lt;MenuItem Header=&quot;_File&quot;&gt;

  &lt;Separator/&gt;

    &lt;MenuItem Header =&quot;_Exit&quot; MouseEnter =&quot;MouseEnterExitArea&quot;

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

    &lt;/MenuItem&gt;

    &lt;MenuItem Header=&quot;_Tools&quot;&gt;

      &lt;MenuItem Header =&quot;_Spelling Hints&quot;

        MouseEnter =&quot;MouseEnterToolsHintsArea&quot;

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

  &lt;/MenuItem&gt;

&lt;/Menu&gt;

Обратите внимание, что система меню стыкована с верхней частью DockPanel. Кроме того, элемент Separator применяется для добавления в систему меню тонкой горизонтальной линии прямо перед пунктом Exit. Значения Header для каждого MenuItem содержат символ подчеркивания (например, _Exit). Подобным образом указывается символ, который будет подчеркиваться, когда конечный пользователь нажмет клавишу <Alt> (для ввода клавиатурного сокращения). Символ подчеркивания используется вместо символа &amp; в Windows Forms, т.к. язык XAML основан на XML, а символ &amp; в XML имеет особый смысл.

После построения системы меню необходимо реализовать различные обработчики событий. Прежде всего, есть обработчик пункта меню File► Exit (Файл►Выход), FileExit_Click(), который просто закрывает окно, что в свою очередь приводит к завершению приложения, поскольку это окно самого высшего уровня. Обработчики событий MouseEnter и MouseExit для каждого подэлемента будут в итоге обновлять строку состояния; однако пока просто оставьте их пустыми. Наконец, обработчик ToolsSpellingHints_Click() для пункта меню ToolsSpelling Hints также оставьте пока пустым. Ниже показаны текущие обновления файла отделенного кода (в том числе обновленные операторы using):

using System.IO;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Input;

using Microsoft.Win32;

public partial class MainWindow : Window

{

  public MainWindow()

  {

    InitializeComponent();

  }

  protected void FileExit_Click(object sender, RoutedEventArgs args)

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


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

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


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*