我需要编写用相同的字符替换第一个字符的算法,但大写。所以,我写了这段代码:
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属性很重要。 我该如何解决这个问题?
答案 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;