【问题标题】:How to set the caret to the end of the text in TextBox (WP8)?如何将插入符号设置为 TextBox(WP8)中文本的末尾?
【发布时间】:2014-05-26 13:31:52
【问题描述】:

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

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 属性。 我该如何解决这个问题?

【问题讨论】:

    标签: c# windows-phone-8


    【解决方案1】:

    但是,您可以像我在这里展示的那样使用文本框的选择方法:

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

    您可以在此处找到有关此的更多信息:: http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx

    【讨论】:

      【解决方案2】:

      您还可以通过设置TextBox.SelectionStartTextBox 来更改插入符号的位置。在算法末尾添加:

      yourTextBox.SelectionStart = yourTextBox.Text.Length;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        • 2011-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多