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

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

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 172
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

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

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

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

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

Обработка событий для вкладки 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;

Перейти на страницу:
Комментариев (0)