2013-07-23 50 views
0

我目前的任务涉及使用Infragistics网格来显示大量的数据,因此滚动性能至关重要(请不要问为什么这样设计)。 Infragistics提供了CellValuePresenter风格,可显着减少网格中的可视化组件数量,从而提高性能,但需要权衡控件提供的数据格式。我正在考虑使用Linq来格式化ViewModel中的数据,但是作为我的团队中的某个人员提到这种方法会违反MVVM的“规则”。如果网格的性能很关键,你会怎么做?你会考虑移动VM中的数据格式化逻辑吗?在View或ViewModel中格式化数据?

+1

你在做什么格式?如果您基于文化进行格式设置,那么在ViewModel中进行格式设置将会很好。如果您允许编辑,那么您可能需要考虑不格式化数据并使用网格的编辑器来提供格式。此外,由于使用虚拟化,所以View中的单元格实际上会创建一个CellValuePresenter。 – alhalama

回答

2

既然虚拟机应该提供一些数据和业务逻辑,恕我直言,视图格式化值是完全正确的,因为它应该解释虚拟机。此外,值格式是值的视觉表示形式的定义,所以...

考虑一个新的要求,您还应该在另一种文化中提供应用程序。数据不会改变。你只需改善视图...