如何在文本框(WP8)中将插入符号设置为文本的结尾?

时间:2014-05-26 04:53:48

标签: c# windows-phone-8

我需要编写用相同的字符替换第一个字符的算法,但大写。所以,我写了这段代码:

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;
        }
    }

但是有一个问题:在更换文本后,插入符号没有移动到最后,它仍然保留在开头。

说明Windows Phone 8中的TextBox中没有CaretIndex属性很重要。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

但是,您可以使用文本框的选择方法,如我在此处所示:

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

你可以在这里找到更多相关信息:: http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx

答案 1 :(得分:1)

您还可以通过设置TextBox的{​​{3}}来更改插入符号的位置。在算法结束时添加:

yourTextBox.SelectionStart = yourTextBox.Text.Length;