将Button的“Enabled”属性绑定到DataSet.HasChanges()

时间:2012-07-30 15:45:44

标签: c# winforms data-binding

我想在我的C#Windows窗体应用程序上绑定Button的{​​{3}}属性,以确定实例DataSet变量是否有变化。 (即,如果DataSet未更改,请禁用保存按钮。)

问题是,Enabled是作为方法实现的,而不是作为属性实现,因此无法绑定。有没有简单的方法来实现这个?我是以错误的方式接近这个吗?似乎这样的事情比在数据发生变化时手动禁用和启用按钮要容易得多。

在我的研究中,我提出DataSet.HasChanges,但它的解决方案(设计类需要绑定的属性是属性)对于这种情况似乎是不切实际的。

1 个答案:

答案 0 :(得分:0)

在WinForms应用程序中,您根本不需要将按钮的Enabled属性直接绑定到DataSet。构建一个中间层(无论如何这将更容易维护和扩展),一个类将DataSet的方法解释为控件可以绑定到的Property:

public bool HasChanges
{
    get
    {
        return myData == null ? false : this.myData.HasChanges();
    }
}