将计算值存储在持久属性中是否可以?
我会使用Martin Brugger's Dependant Properties来更新计算值。
我的计算值是数千个对象的持续时间:
Name Duration
Users 70s
Proposal.doc 35s
12:32-12:32 5s
13:11-13:11 30s
Proposal2.doc 35s
14:32-14:32 15s
15:11-15:11 20s
...thousands more objects...
我使用预取和setReturnsObjectsAsFaults:NO
最小化了触发的故障数量,但它使用了大量内存,但仍需要很长时间。
我的瞬态更新代码和我知道的一样有效。
我知道我可以在后台线程上获取并使用进度条,但我更希望用户不必等待。
答案 0 :(得分:2)
我不确定我是否完全理解这个问题,但对我认为你所问的问题的简单回答当然是“。” : - )
具有瞬态,实时计算的“currentTotalDuration”值和“cachedTotalDuration”属性完全没有错。当“currentTotalDuration”更新时,将其抛入“cachedTotalDuration”并完成。对于我来说,拥有持久缓存属性以及仅在需要更新时才使用的“实时计算”瞬态值听起来是完全合理的。
我不熟悉Martin Brugger的Dependent Properties,但听起来大部分的努力已经为你完成了。
我希望我回答你实际问过的问题。 :-D