长时间的听众,第一次来电。我在 WinRT C#/XAML 中的 TextBox 遇到了一个奇怪的问题,希望有人可以帮助我。
基本上,我正在创建一个自定义控件,它基本上需要第二个 TextBox 作为第一个的副本,包括显示相同的 Text 和显示相同的 Selected Text。显然,对于 Text 要求,我只需响应第一个 TextBox 上的 TextChanged 事件并将第二个 TextBox 的 Text 设置为第一个 TextBox 的 Text,效果很好。
对于 Selected Text 要求,我从类似的解决方案开始,我的代码如下:
void TextBox1_SelectionChanged(object sender, RoutedEventArgs e)
{
this.TextBox2.Select(this.TextBox1.SelectionStart, this.TextBox1.SelectionLength);
}
最初与鼠标一起使用时,这似乎工作得很好:
但是我在使用Touch选择文本时遇到了问题。我在 TextBox 中双击以创建第一个“锚点”,就像在 Touch 中一样,然后拖动以开始选择;但在选择停止之前,我通常只能选择一个字符。TextBox 并没有完全失去焦点,但行为与此类似;选择锚点消失,除非我重新双击以开始新的选择,否则我无法继续选择任何内容。如果我删除了在 TextBox2 中选择文本的代码,那么 Touch 选择在 TextBox1 中的表现完美。
我一直在尝试解决此问题,但无法解决,我不确定是否可以使用 WinRT TextBoxes 获得所需的行为。有没有人有任何想法?或者也许是另一种方法来实现具有这种行为的两个文本框的解决方案?
非常感谢。