绑定到自定义属性的WinForms数据引发异常

本文关键字:异常 数据 WinForms 自定义属性 绑定 | 更新日期: 2023-09-27 18:26:18

如果这是重复的,我很抱歉,但我搜索了网络,没有找到答案

我正在尝试绑定控件的Enabled(或TextBoxReadOnly):

this.tbProj.DataBindings.Add(new Binding("Enabled", this, "CanEdit", false, DataSourceUpdateMode.OnPropertyChanged, false));
this.btnSave.DataBindings.Add(new Binding("Enabled", this, "Dirty", false, DataSourceUpdateMode.OnPropertyChanged, false));

至以下属性:

public bool Dirty { get; set; }
private bool CanEdit
{
    get { return this._CurrentRecord.CanEdit(); }
}

我在尝试ShowDialog()表单时得到System.ArgumentException: Cannot bind to the property or column CanEdit on the DataSource.

如果我将EnabledReadOnly绑定到Dirty,则一切都会分叉。我尝试了get { return true; },甚至添加了一个setter:set { bool bummy=value; },同样的错误。我甚至将CanEdit更改为一个自动实现的属性,与Dirty(只是声明中的get; set;)相同,但没有用。。。

请帮忙。

谢谢你的任何提示和建议。

绑定到自定义属性的WinForms数据引发异常

属性必须是公共的:

public bool CanEdit
{
    get { return this._CurrentRecord.CanEdit(); }
}