丢失焦点时更新数据绑定

时间:2013-06-07 09:40:56

标签: c# winforms data-binding

我已经看到WPF有一个UpdateSourceTrigger属性,允许在控件失去焦点后进行数据绑定,对winforms有类似的东西吗?

我遇到过一个问题,当更新数据绑定值时,整个源都会被更改,而不是单个属性。

这导致我出现问题,因为我有一个CheckBox,当更改检查状态时,更新另一个来自同一个数据绑定源的数据绑定源,这使得我的复选框永远不会改变值(或者更确切地说它改回来)

我创建了一个example program来证明这一点。 (带有复选框和文本框的基本表单)

或者,是否有另一种方法来处理我的数据绑定以仅使数据绑定属性值更改而不是源?

1 个答案:

答案 0 :(得分:2)

最后,我不得不使用CheckedChanged事件手动更新数据绑定。

例如,使用我的示例程序的源代码。

checkBox1.CheckedChanged += (s, e) => { 
  dc.BooleanVal = ((CheckBox)s).checked;
  customControl1.Text = "3"; 
  label1.Text = dc.BooleanVal.ToString(); };