wp中TextBox在中文输入法下清空问题

时间:2020-12-21 16:07:01

wp中TextBox在中文输入法下清空问题

如图,在中文输入法下我希望点击“X”,然后把TextBox清空,一般来说,直接用TextBox.Text = "";或者TextBox.Text = String.Empty;就可以清空,

但是在中文输入法的状态下,这个操作这是相当于按了软键盘的“确定”键。TextBox里面显示为“jfshhgsjnf”,需要我再点多一次清除按钮才能清空。

很显然,直接写两句TextBox.Text = "";或者TextBox.Text = String.Empty;也是不行的,这就需要在两次操作之间留个时间间隙,当然,时间也不可以

太短。这个可以用DispatcherTimer实现。

但是,如果你的TextBox中有Hint属性的,第一次TextBox.Text = "";后会造成Hint语句出现,然后text内容和Hint语句在一定时间内重叠,影响体验,可以对

TextBox进行赋值处理。

string value = textBox1.Text;
                this.textBox1.Text = "";
                this.textBox1.Text = value;
                DispatcherTimer time = new DispatcherTimer();
                time.Interval = TimeSpan.FromMilliseconds(200);
                time.Tick += time_Tick;
                time.Start();

void time_Tick(object sender, EventArgs e)
              {
                   this.textBox1.Text = "";
                   DispatcherTimer time = sender as DispatcherTimer;
               time.Stop();
              }