C# 使用ReactiveUI监听复杂对象更改的最佳方式是什么?
例如,复杂对象有一个对象集合C# 使用ReactiveUI监听复杂对象更改的最佳方式是什么?,c#,reactiveui,C#,Reactiveui,例如,复杂对象有一个对象集合 public class MyClass { public string Name { get;set;} public string Description {get;set;} } public class MyViewModel { public ObservableCollection<MyClass> MyClasses {get;set;} } 公共类MyClass { 公共字符串名称{get;set;} 公
public class MyClass
{
public string Name { get;set;}
public string Description {get;set;}
}
public class MyViewModel
{
public ObservableCollection<MyClass> MyClasses {get;set;}
}
公共类MyClass
{
公共字符串名称{get;set;}
公共字符串说明{get;set;}
}
公共类MyViewModel
{
公共ObservableCollection MyClass{get;set;}
}
我想创建一个可观察的,并知道MyClasses集合项中的一项何时发生了更改(名称或描述)。请查看
简言之:
1) 使用ReactiveList
而不是observeCollection
,并将ChangeTrackingEnabled
设置为true:
// in MyViewModel constructor
this.MyClasses = new ReactiveList<MyClass>()
{
ChangeTrackingEnabled = true,
};
3) 使用列表的ItemChanged
属性
this.MyClasses.ItemChanged.Subscribe(_ => Console.WriteLine("Changed!"))
this.MyClasses.ItemChanged.Subscribe(_ => Console.WriteLine("Changed!"))