C#. WPF приложение для рисования, часть 7. Добавление текста

Кроме рисования линий, неплохо бы иметь возможность добавлять текст в наше приложение. Для ввода текста будем использовать элемент управления 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();
        }

 

При нажатии на кнопку "Добавить текст" в рабочую область добавится контрол для ввода текста, куда будет переключен курсор для ввода текста.

Рис.1. Добавление текста

Рис.1. Добавление текста

 

Чтобы переместить введенный текст в другое место на экране, нужно переключиться в режим выделения (нажать кнопку "Выделить"), кликнуть на область с текстом, чтоб вокруг текста появилась рамка, и, наведя курсор на границы появившейся рамки и зажав левую кнопку мыши, переместить в нужное место.

Таким же образом можно изменять размеры области для ввода текста, только нужно не перемещать рамку, а изменить ее размеры.

Рис.2. Перемещение текста

Рис.2. Перемещение текста

 

При повторных нажатиях на кнопку "Добавить текст" будут добавляться новые элементы для ввода текста (Рис.3).

Рис.3. Добавление нескольких элементов управления

Рис.3. Добавление нескольких элементов управления


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика