使用ReactiveUI侦听复杂对象更改的最佳方法是什么?

康奈尔·玛丽安(Cornel Marian)

复杂对象具有对象的集合,例如

public class MyClass
{ 
    public string Name { get;set;}

    public string Description {get;set;}
}

public class MyViewModel
{
    public ObservableCollection<MyClass> MyClasses {get;set;}
}

我想创建一个可观察的对象,并知道MyClasses集合项之一(名称或描述)何时已更改。

班班卡

查看文档,尤其是“使用变更跟踪”部分

简而言之:

1)使用ReactiveList代替ObservableCollection,并将其设置ChangeTrackingEnabled为true:

// in MyViewModel constructor
this.MyClasses = new ReactiveList<MyClass>()
{
    ChangeTrackingEnabled = true,
};

2)MyClass应引发PropertyChanged事件。最简单的方法是使其从ReactiveObject派生:

public class MyClass : ReactiveObject
{ 
    private string _name;
    public string Name 
    {
        get { return _name; }
        set { this.RaiseAndSetIfChanged(ref _name, value); 
    }

    private string _description;
    public string Description
    {
        get { return _description; }
        set { this.RaiseAndSetIfChanged(ref _description, value); 
    }
}

3)使用ItemChanged清单的属性

this.MyClasses.ItemChanged.Subscribe(_ => Console.WriteLine("Changed!"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对多个分支进行相同更改的最佳方法是什么?

来自分类Dev

复杂形状匹配的最佳方法是什么

来自分类Dev

使用反向引用的最佳方法是什么?

来自分类Dev

全局更改网站上使用的所有纸张元素中墨水颜色的最佳方法是什么?

来自分类Dev

对象列表投射的最佳方法是什么

来自分类Dev

“回滚”更改的最佳方法是什么?

来自分类Dev

使用Django,在查询集中的每个对象上添加特定字段的最佳实践方法是什么?

来自分类Dev

类在实例化的对象中侦听事件的最佳方法是什么?(迅速)

来自分类Dev

使用javascript对象重复html代码的最佳方法是什么?

来自分类Dev

从MVC3应用程序序列化,返回和使用复杂的C#对象的最佳方法是什么?

来自分类Dev

更改用于显示对象的精灵的最佳方法是什么?

来自分类Dev

在python中两个对象之间存储和使用信息的最佳方法是什么?

来自分类Dev

在Laravel迁移中更改列类型的最佳方法是什么?

来自分类Dev

委派任何更改的最佳方法是什么?

来自分类Dev

结合使用redux的最佳方法是什么?

来自分类Dev

清空对象的最佳方法是什么?

来自分类Dev

简化JavaScript中对象的最佳方法是什么(最好使用Jquery)

来自分类Dev

用api数据创建填充复杂对象的最佳方法是什么?

来自分类Dev

对Android中的许多对象使用SoundPools的最佳方法是什么?

来自分类Dev

更改API的最佳方法是什么

来自分类Dev

处理侦听并触发事件的元素/对象的最佳方法是什么?

来自分类Dev

在多个对象之间共享对象实例的最佳方法是什么?

来自分类Dev

使用Django,在查询集中的每个对象上添加特定字段的最佳实践方法是什么?

来自分类Dev

可靠存储复杂Java对象层次结构的最佳方法是什么?

来自分类Dev

使用swift保存和加载自定义对象数组的最佳方法是什么?

来自分类Dev

使用ReactiveUI侦听复杂对象更改的最佳方法是什么?

来自分类Dev

使用具有较高循环复杂性的if / switch语句来处理代码的最佳方法是什么?

来自分类Dev

使用多个 FOR 循环提高时间复杂度的最佳方法是什么

来自分类Dev

将复杂字典保存到文件的最佳方法是什么?

Related 相关文章

  1. 1

    对多个分支进行相同更改的最佳方法是什么?

  2. 2

    复杂形状匹配的最佳方法是什么

  3. 3

    使用反向引用的最佳方法是什么?

  4. 4

    全局更改网站上使用的所有纸张元素中墨水颜色的最佳方法是什么?

  5. 5

    对象列表投射的最佳方法是什么

  6. 6

    “回滚”更改的最佳方法是什么?

  7. 7

    使用Django,在查询集中的每个对象上添加特定字段的最佳实践方法是什么?

  8. 8

    类在实例化的对象中侦听事件的最佳方法是什么?(迅速)

  9. 9

    使用javascript对象重复html代码的最佳方法是什么?

  10. 10

    从MVC3应用程序序列化,返回和使用复杂的C#对象的最佳方法是什么?

  11. 11

    更改用于显示对象的精灵的最佳方法是什么?

  12. 12

    在python中两个对象之间存储和使用信息的最佳方法是什么?

  13. 13

    在Laravel迁移中更改列类型的最佳方法是什么?

  14. 14

    委派任何更改的最佳方法是什么?

  15. 15

    结合使用redux的最佳方法是什么?

  16. 16

    清空对象的最佳方法是什么?

  17. 17

    简化JavaScript中对象的最佳方法是什么(最好使用Jquery)

  18. 18

    用api数据创建填充复杂对象的最佳方法是什么?

  19. 19

    对Android中的许多对象使用SoundPools的最佳方法是什么?

  20. 20

    更改API的最佳方法是什么

  21. 21

    处理侦听并触发事件的元素/对象的最佳方法是什么?

  22. 22

    在多个对象之间共享对象实例的最佳方法是什么?

  23. 23

    使用Django,在查询集中的每个对象上添加特定字段的最佳实践方法是什么?

  24. 24

    可靠存储复杂Java对象层次结构的最佳方法是什么?

  25. 25

    使用swift保存和加载自定义对象数组的最佳方法是什么?

  26. 26

    使用ReactiveUI侦听复杂对象更改的最佳方法是什么?

  27. 27

    使用具有较高循环复杂性的if / switch语句来处理代码的最佳方法是什么?

  28. 28

    使用多个 FOR 循环提高时间复杂度的最佳方法是什么

  29. 29

    将复杂字典保存到文件的最佳方法是什么?

热门标签

归档