log*_*eks 1 .net c# inotifypropertychanged
我有一个像下面给出的类/结构
public class FileDetails {public FileDetails(){}
Run Code Online (Sandbox Code Playgroud)public PrintFile PrintFileDetails { get; set; } public Boolean IsSelected { get; set; } public DateTime UploadTime { get; set; } public long FileSize { get; set; } public UploadTypes TypeOfUpload { get; set; } public DateTime DownloadStartTime {get;set;} public DateTime DownloadEndTime {get;set;} public bool ShouldDownload{get;set;} }
在上面的片段PrintFile中定义了XSD.我打算在一个内部部署这个结构ObservableConnection.如果我实施NotifypropertychangedFileDetails将下面的项目PrintFileDetails也能够获益INotifypropertychanged.我相信我无法实现,INotifyPropertyChanged因为它与其他程序员共享.
不,每个对象必须实现INotifyPropertyChanged本身.PrintFile对象不受益于FileDetails对象实现接口的事实.
此外,如果要从XSD生成这些类,则可以使用XSD.EXE上的/ enableDataBinding命令行开关告诉生成器使用INotifyPropertyChanged实现自动生成类.
脚注:将实现INotifyPropertyChanged的对象放入ObservableCollection中将不会产生任何神奇的效果.对集合中的对象所做的更改不会触发集合的PropertyChanged事件(除非您编写代码来执行此操作).只有在集合对象的属性发生更改时,才会触发集合的PropertyChanged事件.
在大多数情况下,您正在使用可观察集合,因为您希望将数据绑定到WPF或Silverlight UI元素,并且您希望UI在数据更改时自动更新.数据绑定系统将注意集合中的对象是否实现IPropertyNotifyChanged并自动附加到PropertyChanged事件,以便UI知道数据何时更改.
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |