Следующая задача для вкладки 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
Щелкните правой кнопкой мыши где-нибудь в области панели инструментов и выберите в контекстном меню пункт Choose Items
(Выбрать элементы). Вскоре появится список возможных компонентов для добавления в панель инструментов. Вас интересует элемент управленияInkCanvas (рис. 25.18).На заметку!
Элементы управления Ink API не совместимы с визуальным конструктором XAML в версии Visual Studio 16.8.3 (текущая версия на момент написания главы) или Visual Studio 16.9 Preview 2. Использовать элементы управления можно, но только не через визуальный конструктор.Элемент управления InkCanvas
Простое добавление InkCanvas
Элемент управления InkCanvas
EditingMode, которому можно присвоить любое значение из связанного перечисления InkCanvasEditingMode. В данном примере вас интересует режим Ink, принятый по умолчанию, который только что демонстрировался, режим Select, позволяющий пользователю выбирать с помощью мыши область для перемещения или изменения размера, и режим EraseByStroke, который удаляет предыдущий штрих мыши.На заметку!
Штрих — это визуализация, которая происходит во время одиночной операции нажатия и отпускания кнопки мыши. Элемент управленияInkCanvas сохраняет все штрихи в объекте StrokeCollection, который доступен с применением свойства Strokes.Обновите обработчик RadioButtonClicked
InkCanvas в нужный режим в зависимости от выбранного переключателя RadioButton:private void RadioButtonClicked(object sender,RoutedEventArgs e)
{
// В зависимости от того, какая кнопка отправила событие,
// поместить InkCanvas в нужный режим оперирования.
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
};
}
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT