我有一个Windows 8.1商店应用程序。在这个应用程序中,我试图模拟按钮单击事件上的输入/返回键按下。我正在更改的控件是XAML多行文本框。
所以我在文本框中输入文本'The'。
然后我按下我的按钮来模拟输入点击。代码是:
textBox.Text = String.Format("{0}{1}", textBox.Text, Environment.NewLine);
所以文字现在是'\ r \ n'。
我现在将选择开始设置为结束。这样:
textBox.SelectionStart = textBox.Text.Length;
此时SelectionStart现在为4,textbox.Text.Length为5(零基础,所以OK)
我现在输入在文本框中附加单词'one'。所以现在文本现在是'\ r \ n无'
我现在使用我的按钮再次模拟回车键。
文本现在为'\ r \ _无\ r \ n',text.length为10。
我现在尝试使用与上面相同的代码设置selectionStart位置:
textBox.SelectionStart = textBox.Text.Length;
然而,即使Text.length = 10;
,SelectionStart = 8所以现在当我输入另一个角色时,它会在回车之前进入。 e.g。
textbox.Text现在等于'\ r \ _noz \ r \ n'。 'z'是新输入的角色。
有人知道为什么会这样吗?
由于
答案 0 :(得分:0)
尝试这样的事情
textBox.Select(textBox.Text.Length, 0);
资料来源: http://msdn.microsoft.com/en-us/library/ms752349(v=vs.110).aspx