WPF - 暂时停止数据绑定(数据绑定)

时间:2010-01-30 03:45:29

标签: wpf data-binding datatable

我有一个文本框绑定(单向)到一个数据表,每秒更新一次。 因此,文本框值不断反映数据表中的更改。 当我输入文本框以手动设置值时,绑定会导致值不断被覆盖。我怎么阻止这个? 当我输入一个值(文本框失去焦点)时,我希望文本框返回以显示绑定值,而不是我刚刚手动输入的值。

2 个答案:

答案 0 :(得分:2)

我有同样的问题,我通过

解决
  1. 使用BindingNavigator,我将其设置为null

    bdNavProduct.BindingSource = null;

  2. 使用其他文本框控件datagridview,我清除了DataBinding

         txtProductID.DataBindings.Clear();
         txtProductName.DataBindings.Clear();
         txtQuantity.DataBindings.Clear();
         txtUnitPrice.DataBindings.Clear();
         dgvProduct.DataBindings.Clear();
    

答案 1 :(得分:1)

您可以附加到文本输入事件并取消绑定,然后在丢失的焦点事件上重新应用它。

我认为你需要考虑为什么要在文本框中显示你的绑定值?如果不可编辑的Textblock显示您的数据库信息,并且可编辑的文本框与可选的用户输入分开,是不是更合适。

虽然你所提出的问题是可行的,但是我提到的文本框事件似乎从用户的角度来看会让人感到困惑。