绑定到已检查的属性会弄乱ui,绑定到文本很好

时间:2014-03-27 15:44:05

标签: c# checkbox bind bindingsource

更新

我想我已经找到了问题。

影响绑定源的所有表单事件最终都有这个:

BndSource.ResetBindings(false);

如果我在CheckedChanged事件处理程序中注释此行,则问题将停止。但为什么呢?

我有一个非常奇怪的错误。

我有一个类属性:

public SqlByte AutomaticFlag { get; set; }

我想使用复选框来方便显示,所以在初始进行中我这样做:

        dtaAutomaticFlag.DataBindings.Add("Checked", BndSource, "AutomaticFlag", true);
        dtaAutomaticFlag.DataBindings[0].Format += (s, e) =>
        {
            if ((SqlByte)e.Value == 1)
            {
                e.Value = true;
            }
            else
            {
                e.Value = false;
            }
        };

问题是在迭代绑定源的所有记录期间,我的ui有一半更新,这意味着它不完整。见图:

enter image description here

非常奇怪的是,我将上述绑定属性从选中更改为文本,如下所示:

dtaAutomaticFlag.DataBindings.Add("Text", BndSource, "AutomaticFlag", true);

ui没关系!!

照片:

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定这是否适用于这种特殊情况。但不是像你一样添加绑定:

dtaAutomaticFlag.DataBindings.Add("Text", BndSource, "AutomaticFlag", true);

创建" new"绑定实例帮助吗?

dtaAutomaticFlag.DataBindings.Add(new Binding("Text", BndSource, "AutomaticFlag", true));