2013-07-23 80 views
0

我目前的任務涉及使用Infragistics網格來顯示大量的數據,因此滾動性能至關重要(請不要問爲什麼這樣設計)。 Infragistics提供了CellValuePresenter風格,可顯着減少網格中的可視化組件數量,從而提高性能,但需要權衡控件提供的數據格式。我正在考慮使用Linq來格式化ViewModel中的數據,但是作爲我的團隊中的某個人員提到這種方法會違反MVVM的「規則」。如果網格的性能很關鍵,你會怎麼做?你會考慮移動VM中的數據格式化邏輯嗎?在View或ViewModel中格式化數據?

+1

你在做什麼格式?如果您基於文化進行格式設置,那麼在ViewModel中進行格式設置將會很好。如果您允許編輯,那麼您可能需要考慮不格式化數據並使用網格的編輯器來提供格式。此外,由於使用虛擬化,所以View中的單元格實際上會創建一個CellValuePresenter。 – alhalama

回答

2

既然虛擬機應該提供一些數據和業務邏輯,恕我直言,視圖格式化值是完全正確的,因爲它應該解釋虛擬機。此外,值格式是值的視覺表示形式的定義,所以...

考慮一個新的要求,您還應該在另一種文化中提供應用程序。數據不會改變。你只需改善視圖...