Кроме рисования линий, неплохо бы иметь возможность добавлять текст в наше приложение. Для ввода текста будем использовать элемент управления TextBox, который будет добавляться в нашу рабочую область при нажатии мышкой на кнопку "Добавить текст".
Добавим в рабочую область кнопку с заголовком "Добавить текст" и пропишем ей обработчик для нажатия "btn_AddText_Click". В файле MainWindow.xaml это будет выглядеть так:
<Button x:Name="btn_AddText" Content="Добавить текст" HorizontalAlignment="Left" Margin="531,144,0,0" VerticalAlignment="Top" Width="105" Click="btn_AddText_Click"/>
Перейдем к коду обработчика:
private void btn_AddText_Click(object sender, RoutedEventArgs e) { //Инициализация контрола tb типа TextBox TextBox tb = new TextBox { Width = 100, Height = 50, BorderThickness = new Thickness(1), BorderBrush = new SolidColorBrush(Color.FromRgb(5,5,5)), Margin = new Thickness(20, 20, 0, 0) }; //Добавление контрола tb this.inkCanvas1.Children.Add(tb); //Переключение фокуса на элемент, чтоб можно было сразу ввести текст с клавиатуры tb.Focus(); }
При нажатии на кнопку "Добавить текст" в рабочую область добавится контрол для ввода текста, куда будет переключен курсор для ввода текста.
Чтобы переместить введенный текст в другое место на экране, нужно переключиться в режим выделения (нажать кнопку "Выделить"), кликнуть на область с текстом, чтоб вокруг текста появилась рамка, и, наведя курсор на границы появившейся рамки и зажав левую кнопку мыши, переместить в нужное место.
Таким же образом можно изменять размеры области для ввода текста, только нужно не перемещать рамку, а изменить ее размеры.
При повторных нажатиях на кнопку "Добавить текст" будут добавляться новые элементы для ввода текста (Рис.3).