Как установить каретку на конец текста в TextBox (WP8)?

1

Мне нужно написать алгоритм, который заменяет первый символ одним и тем же символом, но в верхнем регистре. Итак, я написал этот код:

private void RegionFilter_TextChanged(object sender, TextChangedEventArgs e)
    {
        TextBox tb = (sender as TextBox);
        var initialText = tb.Text;
        if (initialText != "")
        {
            var firstChar = initialText.Substring(0, 1).ToUpper();
            var restOfString = initialText.Substring(1, initialText.Length - 1);
            tb.Text = firstChar + restOfString;
        }
    }

Но есть проблема: каретка не подходит к концу после замены текста, она все еще остается в начале.

Важно сказать, что в TextBox в Windows Phone 8 нет свойства CaretIndex. Как я могу это решить?

Теги:
windows-phone-8

2 ответа

2
Лучший ответ

Тем не менее, вы можете использовать методы выделения текстового поля, как показано здесь:

    myTextBox.Select(tbPositionCursor.Text.Length, 0);

Вы можете найти дополнительную информацию об этом здесь: http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx

1

Вы также можете изменить положение каретки, установив TextBox.SelectionStart вашего TextBox. Добавьте в конце вашего алгоритма:

yourTextBox.SelectionStart = yourTextBox.Text.Length;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню