none
WPF как правильно отображать данные RRS feed

  • Вопрос

  • 1. Допустим, есть биндинг Datagrid и ObservableCollection. Как правильно отображать данные, если имеются проблемы с производительностью (видимый грид большой, источник данных тоже большой, часто и непредсказуемо меняется)?

    Получив данные для отображения, я пробовал:

    1. при каждом изменении данных делать очистку коллекции, и потом заполнять ее заново данными (полностью)

    2. при каждом изменении данных создавать новую коллекцию, и затем биндить ее

    3. при каждом изменении данных просматривать коллекцию, находить изменившиеся данные, и просто менять их (получалось, как будто замена содержимого изменившихся ячеек грида).

     

    Подозреваю, что есть более оптимальные варианты обновления источника данных для отображения.

     

    2. Вторая проблема в том, что при все многообразии источников данных, для человеческого биндинга и отображения есть только простейшая обсервбл колл. Найденные мною реализации обсервбл интерфейсов для других коллекций оказались существенно медленее своих аналогов (без обсервбл). Мне кажется ненормальной ситуация, когда решив написать простейшее приложение, я сталкиваюсь с проблемой, что отрисовка Ui занимает в три раза больше времени, чем логика. UI состоит из часто меняющихся гридов.

    15 июля 2011 г. 10:03

Ответы

Все ответы