弱事件模式Silverlight 3
有人能告诉我silverlight 3控件是否使用弱事件模式吗。因此,如果我写: myView.Listbox1.ItemSource=myView.ViewModel.SomeObservableCollection 或 MyView.DataGrid1.ItemSource=MyView.ViewModel.SomeOtherObservableCollection 这里的ViewModel是一个比视图本身寿命长得多的单例,我会不会内存泄漏,或者silverLight 3中的ListBox和Datagrid控件是否已经解决了这个问题 另外,对于我在视图构造函数中显式添加处理程序的事件,例如: MyView() { 初始化组件(); MyView.ViewModel.OnPropertyChanged+=新的PropertyChangedEventHandler(model\U propertyChanged); } 这里有没有一种简单的使用弱引用的方法 谢谢,弱事件模式Silverlight 3,silverlight,Silverlight,有人能告诉我silverlight 3控件是否使用弱事件模式吗。因此,如果我写: myView.Listbox1.ItemSource=myView.ViewModel.SomeObservableCollection 或 MyView.DataGrid1.ItemSource=MyView.ViewModel.SomeOtherObservableCollection 这里的ViewModel是一个比视图本身寿命长得多的单例,我会不会内存泄漏,或者silverLight 3中的ListBox和
必要时,Manish列表框和DataGrid将从
NotifyCollectionChanged
分离处理程序,并通过小型中介对象使用弱引用。因此,内存泄漏虽然可能很小,但在实际触发NotifyCollectionChanged时会完全消除
您自己这样做的模式是使用中介模式,让中介对象持有对所涉及的一方的弱引用