我有一个特定的数据集,需要存储分组和有序的数据。然后,每当任何单个项目发生变化时,每一行都需要能够重新计算其总和。
这是最终结果的基本外观:
对象结构如下:
public class MyObject : INotifyPropertyChanged
{
public ObservableCollection<MySubObject> Objects { get; set; }
public Decimal TotalOfAll { get; set; }
/* Ommited INPC and other properties for brevity */
}
public class MySubObject : INotifyPropertyChanged
{
public Decimal Value { get; set; }
public String RowType { get; set; }
/* Ommited INPC and other properties for brevity */
}
视图需要绑定到 MyObject,然后按其 Type 属性对 Objects 属性进行分组。
现在,我已经在不使用响应式扩展的情况下完成了这项工作,但感觉很糟糕......我想通过将 MyObject 的 Objects 属性转换为可观察的来实现这一点,理论上,它应该允许我在任何时候更新总和MySubObject 的 Value 属性发生变化。
我已经构建了事物的视图方面,所以这不是问题......它正在完成 RX 部分。
笔记:
我也可以像这样公开我的数据:
public class MyObject : INotifyPropertyChanged
{
public ObservableCollection<MyRowObject> Objects { get; set; }
public Decimal TotalOfAll { get; set; }
/* Ommited INPC and other properties for brevity */
}
public class MyRowObject : INotifyPropertyChanged
{
public ObservableCollection<MySubObject> Objects { get; set; }
public String RowType { get; set; }
public Decimal RowTotal { get; set; }
/* Ommited INPC and other properties for brevity */
}
public class MySubObject : INotifyPropertyChanged
{
public Decimal Value { get; set; }
/* Ommited INPC and other properties for brevity */
}
这将解决分组问题,但我仍然无法让它工作