2012-11-06 43 views
1

我正在評估當前項目的ReactiveExtensions和ReactiveUI。兩人看起來都很有前途但是,我遇到了以下問題。我有一個名爲RecordSet的類型,它定義了名爲Records的ReactiveCollection <MyRecordType>的只讀屬性。我需要處理每個記錄項目的一些屬性,以便在將新項目添加到集合之前將其添加到集合中以及集合中已有的其他項目。一些操作是基於已經在集合中但不包括要添加的項目的項目的總數。我正在嘗試觀察_records.BeforeItemsAdded,但出於某種原因,OnNext()回調被調用爲「太遲」(在集合中的項目數量已經等於最終添加到集合中的總數或項目)。建議使用Rx模式來攻擊這樣的問題?在將新項目添加到集合之前更新ReactiveCollection <MyRecordType>的項目

回答

1

您是否在BeforeItemsAdded中收到要更新的項目?爲什麼不直接更改該對象?

更新:不幸的是,我懷疑有沒有辦法在這個版本RxUI做這BeforeItemsAdded,爲BeforeItemsAdded總是被UI線程上運行。在RxUI 4.1(即將發佈)中,情況並非如此。

與此同時,您可能需要在調用Add之前先完成項目修復。

+0

是的,我得到的項目,但我需要根據集合中已有多少項目更新項目屬性。但是,集合Count始終等於最終在集合中結束的最大記錄數。換句話說,當我將4條記錄添加到集合中時,當第一次調用BeforeItemsAdded OnNext()時,此時集合Count已經是= 4。 – AndreyKornich

+0

在我以前的評論中,我的意思是「在空集合中添加4條記錄」... – AndreyKornich

+0

RxUI的哪個版本是這樣的? –

相關問題