【问题标题】:Binding to checked propert messes up ui, binding to text is fine绑定检查属性会弄乱ui,绑定到文本很好
【发布时间】:2014-03-28 02:35:57
【问题描述】:

更新:

我想我找到了问题。

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

BndSource.ResetBindings(false);

如果我在我的 CheckedChanged 事件处理程序中评论这一行,问题就会停止。但为什么呢?

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

我有一个类属性:

public SqlByte AutomaticFlag { get; set; }

我想使用复选框来方便显示这一点,所以在最初的 inding 我这样做:

        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 更新了一半,这意味着它不完整。见图片:

当我将上面的绑定属性从选中的更改为这样的文本时,非常奇怪:

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

用户界面还可以!!

图片:

【问题讨论】:

  • 更新了前 3 行中的问题。

标签: c# checkbox bind bindingsource


【解决方案1】:

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

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

创建一个“新的”绑定实例有帮助吗?

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多