为数据绑定设计WPF类

4

我需要在WPF中构建一个聊天应用程序;我想使用DataBinding(还在学习它)并且希望以正确的方式完成。我已经按照以下方式构建了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的最佳方法是什么。我应该创建一个BuddyList类,其中包含Add和List方法,然后将数据绑定到该类的实例上吗?最佳方式是什么?

3个回答

3

2
如果您想绑定项目的集合,应使用ObservableCollection类。另一个建议是创建一个实现INotifyPropertyChanged接口的基类,并从中派生出要绑定到UI的每个类。请保留HTML标签。

1

我觉得你的类定义看起来很好。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接