C# 为数据绑定设计WPF类

C# 为数据绑定设计WPF类,c#,wpf,data-binding,C#,Wpf,Data Binding,我必须建立一个在WPF聊天应用程序;我想使用数据绑定(仍在学习),并希望以正确的方式进行。我以这种方式构建了一个Buddy类: public class Buddy: INotifyPropertyChanged { private String _name; private String _status; public String Name { get { return _name; }

我必须建立一个在WPF聊天应用程序;我想使用数据绑定(仍在学习),并希望以正确的方式进行。我以这种方式构建了一个Buddy类:

public class Buddy: INotifyPropertyChanged
{
    private String _name;
    private String _status;
    public String Name
    {
        get
        {
            return _name;
        }
        set
        {
            _name = value;
            NotifyPropertyChanged("Name");
        }
    }
    public String Status
    {
        get
        {
            return _status;
        }
        set
        {
            _status = value;
            NotifyPropertyChanged("Status");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

我不知道处理BuddyList的最好方法是什么。我是否应该使用Add和List方法创建一个BuddyList类,然后将其数据绑定到该类的实例?最好的方法是什么?

如果要绑定项目集合,应使用

另一个建议是创建和基类来实现INotifyPropertyChanged接口, 并从中派生出要绑定到UI的每个类。

您可以使用它创建BuddyList类
请看下面的示例:
您也可以使用。

我认为您的类定义看起来很好

关于列表问题,我会将我的列表公开为只读绑定,所有的添加、删除、编辑功能我都会将其保密。为了避免手动通知视图对集合的更改,我将使用
observeCollection
,但将其公开为
ReadOnlyObservableCollection