Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

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

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
1 ... 504 505 506 507 508 509 510 511 512 ... 642
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

Обработка событий для вкладки Ink API

Следующая задача для вкладки Ink API связана с организацией обработки события Click для каждого элемента управления RadioButton. Как вы поступали в других проектах WPF, просто щелкните на значке с изображением молнии в окне Properties среды Visual Studio и введите имена обработчиков событий. С помощью упомянутого приема свяжите событие Click каждого элемента управления RadioButton с тем же самым обработчиком по имени RadioButtonClicked. После обработки всех трех событий Click обработайте событие SelectionChanged элемента управления ComboBox, используя обработчик по имени ColorChanged. В результате должен получиться следующий код С#:

public partial class MainWindow : Window

{

  public MainWindow()

  {

    this.InitializeComponent();

    // Вставить сюда код, требуемый при создании объекта.

  }

    private void RadioButtonClicked(object sender,RoutedEventArgs e)

  {

    // TODO: добавить сюда реализацию обработчика событий.

  }

  private void ColorChanged(object sender,SelectionChangedEventArgs e)

  {

    // TODO: добавить сюда реализацию обработчика событий.

  }

}

Обработчики событий будут реализованы позже, так что оставьте их пока пустыми.

Добавление элементов управления в панель инструментов

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

Щелкните правой кнопкой мыши где-нибудь в области панели инструментов и выберите в контекстном меню пункт Choose Items (Выбрать элементы). Вскоре появится список возможных компонентов для добавления в панель инструментов. Вас интересует элемент управления InkCanvas (рис. 25.18).

На заметку! Элементы управления Ink API не совместимы с визуальным конструктором XAML в версии Visual Studio 16.8.3 (текущая версия на момент написания главы) или Visual Studio 16.9 Preview 2. Использовать элементы управления можно, но только не через визуальный конструктор.

Элемент управления InkCanvas

Простое добавление InkCanvas делает возможным рисование в окне. Рисовать можно с помощью мыши либо, если есть устройство, воспринимающее касания, то пальца или цифрового пера. Запустите приложение и нарисуйте что-нибудь (рис. 25.19).

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

Элемент управления InkCanvas обеспечивает нечто большее, чем просто рисование штрихов с помощью мыши (или пера); он также поддерживает несколько уникальных режимов редактирования, управляемых свойством EditingMode, которому можно присвоить любое значение из связанного перечисления InkCanvasEditingMode. В данном примере вас интересует режим Ink, принятый по умолчанию, который только что демонстрировался, режим Select, позволяющий пользователю выбирать с помощью мыши область для перемещения или изменения размера, и режим EraseByStroke, который удаляет предыдущий штрих мыши.

На заметку! Штрих — это визуализация, которая происходит во время одиночной операции нажатия и отпускания кнопки мыши. Элемент управления InkCanvas сохраняет все штрихи в объекте StrokeCollection, который доступен с применением свойства Strokes.

Обновите обработчик RadioButtonClicked() следующей логикой, которая помещает InkCanvas в нужный режим в зависимости от выбранного переключателя RadioButton:

private void RadioButtonClicked(object sender,RoutedEventArgs e)

{

<b>  // В зависимости от того, какая кнопка отправила событие,</b>

<b>  // поместить InkCanvas в нужный режим оперирования.</b>

  this.MyInkCanvas.EditingMode =

      (sender as RadioButton)?.Content.ToString() switch

  {

    // Эти строки должны совпадать со значениями свойства Content

    // каждого элемента RadioButton.

    &quot;Ink Mode!&quot; =&gt; InkCanvasEditingMode.Ink,

    &quot;Erase Mode!&quot; =&gt; InkCanvasEditingMode.EraseByStroke,

    &quot;Select Mode!&quot; =&gt; InkCanvasEditingMode.Select,

    _ =&gt; this.MyInkCanvas.EditingMode

  };

}

Вдобавок установите Ink как стандартный режим в конструкторе окна. Там же установите стандартный выбор для ComboBox (элемент управления ComboBox более подробно рассматривается в следующем разделе):

public MainWindow()

{

  this.InitializeComponent();

  // Установить режим Ink в качестве стандартного.

  this.MyInkCanvas.EditingMode = InkCanvasEditingMode.Ink;

1 ... 504 505 506 507 508 509 510 511 512 ... 642
Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Ксения
Ксения 25.01.2025 - 12:30
Неплохая подборка книг. Прочитаю все однозначно.
Jonna
Jonna 02.01.2025 - 01:03
Страстно🔥 очень страстно
Ксения
Ксения 20.12.2024 - 00:16
Через чур правильный герой. Поэтому и остался один
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее