Windows phone 7 当TextBox.Text设置为string.Empty时,它将开始将下一个字符添加到开头

Windows phone 7 当TextBox.Text设置为string.Empty时,它将开始将下一个字符添加到开头,windows-phone-7,windows-phone-8,windows-phone,Windows Phone 7,Windows Phone 8,Windows Phone,当TextBox.Text设置为string.Empty时,它将开始将下一个字符添加到开头 也就是说,在我设置TextBox.Text=string.Empty之后, 我点击文本框并开始点击虚拟键盘键, 例如,按以下顺序:ABCD 但文本框将显示DCBA 这是什么?如何强制文本框将键插入正确的位置?您是否尝试设置为“”?这对我很有用 TextBox.Text = ""; 不过,老实说,两者之间应该没有区别。我有很多文本框重置为“”,但我没有遇到此问题。上述效果是由绑定到的属性名为ToUpper

当TextBox.Text设置为string.Empty时,它将开始将下一个字符添加到开头

也就是说,在我设置TextBox.Text=string.Empty之后, 我点击文本框并开始点击虚拟键盘键, 例如,按以下顺序:ABCD

但文本框将显示DCBA

这是什么?如何强制文本框将键插入正确的位置?

您是否尝试设置为“”?这对我很有用

TextBox.Text = "";

不过,老实说,两者之间应该没有区别。我有很多文本框重置为“”,但我没有遇到此问题。

上述效果是由绑定到的属性名为ToUpper()on value触发的:

private string word;
public string Word {
        get { return word; }
        set {
            word = value.ToUpper();
            NotifyOfPropertyChange(() => Word);
        }
    }

好像是什么地方出了问题。

我发现了问题。文本绑定到ViewModel中的字符串prop,该prop的setter称为value.ToUpper()。不知怎么的,这导致了这种奇怪的效果。哈哈。时髦的我以后会小心的。:)