В проекте Windows Phone у меня есть следующий сценарий:
- Пользователь вводит текст в текстовое поле
- Пользователь нажимает кнопку, которая отключает текстовое поле и запускает процесс
- Некоторая обработка текста выполнена, и на каждом этапе обработки я хочу выделить определенную часть текста в текстовом поле (сам текст не изменяется).
- Текстовое полевключен после завершения обработки.
Какой правильный способ сделать это?
В настоящее время я попытался установить некоторый фон выделения и установить выделенный текст с помощью текстового поля Выбор методано нет визуальной индикации выбора, даже если текстовое поле включено.Свойство SelectedText возвращает правильный выделенный текст, но по крайней мере в эмуляторе ничего не меняется визуально.
Вот код, который я использую, который не работает: XAML
<TextBox Name="txtTest" AcceptsReturn="True" Height="250" TextWrapping="Wrap" SelectionBackground="Red"></TextBox>
<Button Name="btnTest" Width="200" Click="btnTest_Click">Test</Button>
Код позади
private void btnTest_Click(object sender, RoutedEventArgs e)
{
txtTest.Select(1, 1);
//on this line SelectedText has the correct value
}
Я открыт для других способов сделать это.Я действительно не хочу использовать выбор, так как семантически это не выбор, но я чувствовал, что это был самый простой способ достичь того, чего я хочу.Я могу использовать другие средства для выделения определенных символов, например, для увеличения размера шрифта.Я также могу скрыть текстовое поле и заменить его текстовым блоком, который выглядит так же, но я чувствую, что должен быть более простой способ добиться этого.
Так, как правильно реализовать эту функцию?