2013-07-23 2 views
0

Моя текущая задача включает использование сетки Infragistics для отображения большого объема данных, поэтому прокрутка производительности имеет решающее значение (просьба не спрашивать, почему она была разработана так). Infragistics обеспечивает стиль CellValuePresenter, который значительно уменьшает количество визуальных компонентов в сетке и, следовательно, повышает производительность, хотя с компромиссом форматирования данных, предоставляемым элементом управления. Я рассматриваю возможность использования Linq для форматирования данных в ViewModel, но, как кто-то из моей команды отметил, что этот подход нарушит правила MVVM. Что бы вы сделали, если производительность сетки имеет решающее значение, рассмотрите ли вы перемещение логики форматирования данных в виртуальной машине?Данные сетки, формирующиеся в View или ViewModel?

+1

Какое форматирование вы делаете? Если вы форматируете на основе культуры, то форматирование в ViewModel будет работать хорошо. Если вы разрешите редактирование, вы можете захотеть не форматировать данные и использовать редакторы сетки для обеспечения форматирования. Кроме того, поскольку виртуализация используется, только ячейки в представлении фактически создадут CellValuePresenter. – alhalama

ответ

2

Ну, так как виртуальная машина должна предоставить некоторые данные и бизнес-логику, ИМХО, совершенно правильно, что представление формирует значения, потому что оно должно интерпретировать виртуальные машины. Кроме того, формат значения - это определение того, как выглядит визуальное представление значений, поэтому ...

Рассмотрите, новое требование, вы также должны предоставить приложение в другой культуре. Данные не изменяются. Вам нужно только улучшить представление ...

Смежные вопросы