如何在C#用户控件中刷新绑定到DataSource的控件

时间:2012-03-15 12:06:17

标签: c# winforms data-binding

我对Winforms中对DataSources的理解有点困惑,并且希望有人可以为我清理一些东西。

我有一个控件,让我们称之为Host,我还有一个名为Client。

“主机”包含多个“客户端”实例

客户端在标签中显示四个主要变量,每个变量绑定到每个控件的BindingSource。

我正在使用LINQ检索的数据库值从Host控件更新这些BindingSource。

当我从“主机”控件更新BindingSource时,“客户端”控件中的值不会像我预期的那样进行控制。

任何人都可以快速解释一下我需要调用的任何方法,以确保每次更改BindingSource时标签都会刷新最新数据吗?

此致

1 个答案:

答案 0 :(得分:1)

描述

您必须实施INotifyPropertyChanged界面。

  

INotifyPropertyChanged接口用于通知客户端(通常是绑定客户端)属性值已更改。

示例

public class MyClass : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

    private string myProperty;
    public string MyProperty
    {
        get
        {
            return this.myProperty;
        }

        set
        {
            if (value != this.myProperty)
            {
                this.myProperty = value;
                NotifyPropertyChanged("MyProperty");
            }
        }
    }
}

更多信息