C# 什么时候和什么时候

C# 什么时候和什么时候,c#,system.reactive,reactiveui,C#,System.reactive,Reactiveui,我想我缺少了一个基本的可观察概念 我有一个ChargeViewModel类,它有一个ReactiveList属性,它本身就是一个集合 ChargeViewModel。包含相关费用的费用 我希望查看charges collection中的最新条目(它具有ChargeViewModel.lastModified),并且在UI中基于最新条目具有其他属性 在ctor中,我有一个用于初始化值的代码;但是,当可观察变量“last”发生更改时,它不会更新lateStationDate、latestBillto

我想我缺少了一个基本的可观察概念

我有一个ChargeViewModel类,它有一个ReactiveList属性,它本身就是一个集合 ChargeViewModel。包含相关费用的费用

我希望查看charges collection中的最新条目(它具有ChargeViewModel.lastModified),并且在UI中基于最新条目具有其他属性

在ctor中,我有一个用于初始化值的代码;但是,当可观察变量“last”发生更改时,它不会更新lateStationDate、latestBilltonName、lastestNote的值

如果用户更新“最后一次”费用或创建新的“最后一次”,我希望UI更新

ReactiveList
(默认情况下)仅在添加/移动/删除元素时通知,而不在内容更改时通知。通过设置
changetrackingabled=true
可以非常简单地启用它(也许您已经启用了)

但是,启用后,您将在
ItemChanged
observable上收到此类主题,而不是在
Changed
one上收到,因此您可能需要执行以下操作:

Charges.Changed.Select(_ => Unit.Default).Merge(Charges.ItemChanged.Select(_ => Unit.Default))
    .Select(_ => /* ... */)
    ....
Charges.Changed.Select(_ => Unit.Default).Merge(Charges.ItemChanged.Select(_ => Unit.Default))
    .Select(_ => /* ... */)
    ....