首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF,一个会合通常不会实现属性更改通知的吗

2013-11-09 
WPF,一个集合通常不会实现属性更改通知的吗?一个类的继承自INotifyPropertyChanged ,就会实现属性更改通知

WPF,一个集合通常不会实现属性更改通知的吗?
一个类的继承自INotifyPropertyChanged ,就会实现属性更改通知功能,
使用ObservableCollection可以实现添加项、移除项或刷新整个列表时,此集合将提供通知

那有没有这种写法呢?
public ObservableCollection<Person> People   
    {
        get { return People; }
        set
        {
            People = value;
            OnPropertyChanged("People");              
        }
    }

People也实现属性更改通知,这个有意义吗?



[解决办法]
如果某个控件的itemsource=People,你这样写是没用的。直接赋值就可以绑定了。
如果你的某个控件 itemsource={Binding People},这样写是必要的。
[解决办法]
一般是要实现的,因为你总有编辑People的情况吧。而不仅仅是留在集合的层面。
[解决办法]
通知是针对UI的,如果你设计的类型不用在UI的绑定上面,就不需要实现它,如果要用在UI绑定上面,但是绑定之后不会有Set动作,只是在初始化的时候才有,那也不用实现它。只有在绑定后,可以被用户任意更改的情况下,才需要实现它。

热点排行