文本框的TextChange事件是用户在wpf中启动的

时间:2014-05-27 10:55:23

标签: wpf textchanged

如何确定文本框的TextChange事件是由用户启动的? 即使我通过代码更改文本,也会触发TextChange事件。 但是,只有当用户在GUI上更改文本时,我才需要获取事件。

2 个答案:

答案 0 :(得分:3)

使用PreviewTextInput事件。仅当用户在TextBox中输入文本而不是在

后面的代码中更改文本时,才会调用此事件

答案 1 :(得分:2)

使用一个字段,你可以用封装的方式检查TextChanged处理程序,如

internal void SetTextrogrammatically(stringnewValue)
{
   this.suppressTextChanged = true;
   try
   {
       // Set Text
       textBox.Text = newValue
    }
    finally
    {
        this.suppressTextChanged = false;
    }
 }

通过代码设置文本时,请使用SetTextProgrammatically。在TextChangedHandler中,检查surpressTextChanged ...