Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Обработка событий для вкладки Ink API
Следующая задача для вкладки
Ink APIClickRadioButtonClickRadioButtonRadioButtonClickedClickSelectionChangedComboBoxColorChangedpublic 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Щелкните правой кнопкой мыши где-нибудь в области панели инструментов и выберите в контекстном меню пункт Choose Items (Выбрать элементы). Вскоре появится список возможных компонентов для добавления в панель инструментов. Вас интересует элемент управления
InkCanvas
На заметку! Элементы управления Ink API не совместимы с визуальным конструктором XAML в версии Visual Studio 16.8.3 (текущая версия на момент написания главы) или Visual Studio 16.9 Preview 2. Использовать элементы управления можно, но только не через визуальный конструктор.
Элемент управления InkCanvas
Простое добавление
InkCanvas
Элемент управления
InkCanvasEditingModeInkCanvasEditingModeInkSelectEraseByStrokeНа заметку! Штрих — это визуализация, которая происходит во время одиночной операции нажатия и отпускания кнопки мыши. Элемент управления
InkCanvasStrokeCollectionStrokesОбновите обработчик
RadioButtonClicked()InkCanvasRadioButtonprivate void RadioButtonClicked(object sender,RoutedEventArgs e){<b> // В зависимости от того, какая кнопка отправила событие,</b><b> // поместить InkCanvas в нужный режим оперирования.</b> this.MyInkCanvas.EditingMode = (sender as RadioButton)?.Content.ToString() switch { // Эти строки должны совпадать со значениями свойства Content // каждого элемента RadioButton. "Ink Mode!" => InkCanvasEditingMode.Ink, "Erase Mode!" => InkCanvasEditingMode.EraseByStroke, "Select Mode!" => InkCanvasEditingMode.Select, _ => this.MyInkCanvas.EditingMode };}Вдобавок установите
InkComboBoxComboBoxpublic MainWindow(){ this.InitializeComponent(); // Установить режим Ink в качестве стандартного. this.MyInkCanvas.EditingMode = InkCanvasEditingMode.Ink;