Windows phone 7 如何删除wp7中的数字破折号

Windows phone 7 如何删除wp7中的数字破折号,windows-phone-7,Windows Phone 7,我正在制作电话号码盒。我已经制作了(888)888-8888的格式。但现在我想在后太空操作。如果有人给错了号码,他可以编辑它 问题是,当我试图从右侧删除最后一个数字时。它停止从末尾删除4个数字后的数字。它向我显示如下结果(888)888- 这是我的数字和破折号格式代码 if (phonebox.Text.ToString().Length == 1) { phonebox.Text = "(" + phonebox.Tex

我正在制作电话号码盒。我已经制作了
(888)888-8888的格式。但现在我想在后太空操作。如果有人给错了号码,他可以编辑它

问题是,当我试图从右侧删除最后一个数字时。它停止从末尾删除4个数字后的数字。它向我显示如下结果
(888)888-

这是我的数字和破折号格式代码

if (phonebox.Text.ToString().Length == 1)
                {

                    phonebox.Text = "(" + phonebox.Text.ToString();
                    phonebox.Select(phonebox.Text.Length, 0);

                }

                else if (phonebox.Text.ToString().Length == 4)
                {

                    phonebox.Text = phonebox.Text.ToString() + ")";
                    phonebox.Select(phonebox.Text.Length, 0);

                }

                else if (phonebox.Text.ToString().Length == 8)
                {

                    phonebox.Text = phonebox.Text.ToString() + "-";
                    phonebox.Select(phonebox.Text.Length, 0);

                }
这是我尝试过的解决方案,但不确定它是否有效

else if (phonebox.Text.ToString().Length == 9)
            {

                phonebox.Text = phonebox.Text.ToString()+"";
                phonebox.Select(phonebox.Text.Length, 0);

            }

我不确定您删除字符的方法,但这一行不是删除破折号,它只是附加了一个空字符串对象

 phonebox.Text = phonebox.Text.ToString()+"";
如果要删除最后一个字符,可以执行此操作

phonebox.Text = phonebox.Text.Substring(0, phonebox.Text.Length - 1)
或者,您可以用空字符串替换
-

phonebox.Text = phonebox.Text.Replace("-", "");

最好的方法是在if和if-else检查中添加一个额外的条件。我要你做的是加进去

(Control.ModifierKeys & Keys.Backspace) == 0 
进入你的条件句

这将检查并查看按下的键是否为退格。如果是,那么它将不会对您的文本字段执行上述mods

比如说

 if ( (Control.ModifierKeys & Keys.Backspace) == 0  && phonebox.Text.ToString().Length == 1)
引用的SO文章

老兄,我真的很想帮你,但我真的不知道你在问什么,实际上我想去掉连字符符号。在字段中的6位之后。我想不出如何移除它。