|
|||
TextBox. Проверка орфографииTextBox Если TextBlock просто выводит статический текст, то этот элемент представляет поле для ввода текстовой информации. Он также, как и TextBlock, имеет свойства TextWrapping, TextAlignment и TextDecorations. С помощью свойства MaxLength можно задать предельное количество вводимых символов. <TextBox MaxLength="250" TextChanged="TextBox_TextChanged">Начальный текст</TextBox> В коде C# мы можем обработать событие изменения текста: private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { TextBox textBox = (TextBox)sender; MessageBox.Show(textBox.Text); } По умолчанию, если вводимый текст превышает установленные границы поля, то текстовое поле растет, чтобы вместить весь текст. Но визуально это не очень хорошо выглядит. Поэтому, как и в случае с TextBlock, мы можем перенести непомещающийся текст на новую строку, установив свойство TextWrapping="Wrap". Чобы переводить по нажатию на клавишу Enter курсор на следующую строку, нам надо установить свойство AcceptsReturn="True". Также мы можем добавить полю возможность создавать табуляцию с помощью клавиши Tab, установив свойство AcceptsTab="True" Для отображения полос прокрутки TextBox поддерживает свойства VerticalScrollBarVisibility и НоrizontalScrollBarVisibility: <TextBox AcceptsReturn="True" Height="100" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">Начальный текст</TextBox> Возможно, при создании приложения нам потребуется сделать текстовое поле недоступным для ввода (на время в зависимости от условий или вообще), тогда для этого нам надо установить свойство IsReadOnly="True". Для выделения текста есть свойства SelectionStart, SelectionLength и SelectionText. Например, выделим программно текст по нажатию кнопки: <StackPanel> <TextBox x:Name="textBox1" Height="100" SelectionBrush="Blue" /> <Button Content="Выделить текст" Height="30" Click="Button_Click" Margin="10" /> </StackPanel> Обработчик нажатия кнопки: private void Button_Click(object sender, RoutedEventArgs e) { textBox1.SelectionStart = 5; textBox1.SelectionLength = 10; textBox1.Focus(); // данное выражение эквивалентно //textBox1.Select(5, 10); } Проверка орфографии TextBox обладает встроенной поддержкой орфографии. Чтобы ее задействовать, надо установить свойство SpellCheck.IsEnabled="True". Кроме того, по умолчанию проверка орфографии распространяется только на английский язык, поэтому, если приложение заточено под другой язык, нам надо его явным образом указать через свойство Language: <DockPanel> <TextBox SpellCheck.IsEnabled="True" Language="ru-ru">Привет, как дила?</TextBox> </DockPanel>
|
|||
|