我得到了这个数据结构:
12次测量,每次测量包含1-x个单元,每个单元包含1-x个站。每个测量的单元/站数量相同。
因此我有一个测量,一个单元和一个站类。这3个中的每一个都实现ObservableObject
类。
在我的视图中,我为每个测量创建一个Itemscontrol,以显示测量的所有单元格。每个项目都包含一个Itemscontrol,用于显示文本框中的所有工作站。
现在我需要进行第13次测量,其中我计算所有测量中每个站的总和。 (来自所有12个测量的单元1中的站1 )。
目前我的Viewmodel只包含带有12个基本测量的Observable Collection。
如何检测Station-Textbox的值是否已更改以及Station已更改?
答案 0 :(得分:2)
如果您希望不仅在从集合中添加/删除项目时刷新UI,而且还要在项目引发PropertyChanged时刷新,请使用BindingList而不是ObservableCollection 。
它会引发ListChanged事件,您可以听取其他信息。
除非你想要一些.Net事件,否则不要直接听PropertyChanged。
HTH,
巴布。
答案 1 :(得分:1)
您可以锁定ViewModel中每个工作站的PropertyChanged
事件。这是ObservableObject
中的事件处理程序,只要修改了属性( INotifyPropertyChanged
接口的一部分),就会触发该事件处理程序。