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

  • Вопрос

  • Есть постоянно обновляемая таблица, состоящая из 50 строк и 5 полей. Обновляется 20 раз в секунду. Содержит только числовые данные. Должна быть возможна обработка кликов на ячейках, изменение цвета ячеек.

    Крайне важна скорость обновления, то есть не должно быть никаких задержек визуализации. Как лучше реализовать это в WPF?

    • Перемещено I.Vorontsov 16 августа 2010 г. 9:19 (От:Visual C#)
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:04 MSDN Forums consolidation (От:Разработка Windows-приложений)
    9 августа 2010 г. 14:20

Ответы

  • WPF для таких целей слабо подходит. У меня в свое время образовался проект, который реализовывал обычную текстовую консоль только потому, что та что поставляется с windows очень сильно протормаживала. Кстати, это вариант - гляньте на мой проект, он для таких целей как ваша наверняка подходит.
    - Dmitri Nesteruk
    • Помечено в качестве ответа I.Vorontsov 16 августа 2010 г. 9:05
    14 августа 2010 г. 17:20

Все ответы

  • По уму-то надо лезть в дебри Visual и прочую низкоуровневую радость... Но не стоит. Если вдуматься, то обновление чисел 20 раз в секунду - это, ээээ.... бред. Для человеко-чтения это абсолютно нереальные требования. Сама задача от жизни оторвана, я считаю.

    11 августа 2010 г. 0:02
  • Используйте ListView (т.к. больше ничего нет). Только его нужно немного доработать:

    редактировать любую ячейку: http://msdn.microsoft.com/ru-ru/library/ms745183.aspx

    изменять цвет ячейки: http://social.msdn.microsoft.com/Forums/ru-RU/netframeworkru/thread/e0dab1a0-567c-4ac6-a2b1-ebacd30c4eab

    Или же пишите полностью свой контрол (идеальный вариант).

     

    >Обновляется 20 раз в секунду.

    Вы тут конечно перегнули, зачем так то, и для кого это будет? Вы бы лучше "20 раз" заменили на "1 раз" и "в секунду" заменили на "несколько секунд", вот тогда другое дело будет.

    11 августа 2010 г. 22:27
  • На деле скорее всего обычный LV вполне сможет обновлять все это 20 раз в секунду. Другое дело что человек разумеется не в состоянии будет это прочитать и скорее всего начнутся жалобы на то что все мельтешит.
    This posting is provided "AS IS" with no warranties, and confers no rights.
    14 августа 2010 г. 1:55
    Модератор
  • Да, 20 - это я взял с запасом. Реально - от 4 обновлений в секунду. Все будет зависеть от сервера, который будет выдавать данные. Обработка самих данных будет во многом автоматической, но контролировать все будет оператор, поэтому мельтешение не станет проблемой. То есть лучше показывать ему все "как есть" 20 раз в секунду (при пиковой нагрузке).

    То есть у меня варианты:

    1. писать свой контрол (отрисовывать все на Canvas)

    2.  ListView

    3. Еще предложили DataGrid

    Вообще меня очень беспокоит мерцание. Его нужно избежать в первую очередь.

    14 августа 2010 г. 6:17
  • WPF для таких целей слабо подходит. У меня в свое время образовался проект, который реализовывал обычную текстовую консоль только потому, что та что поставляется с windows очень сильно протормаживала. Кстати, это вариант - гляньте на мой проект, он для таких целей как ваша наверняка подходит.
    - Dmitri Nesteruk
    • Помечено в качестве ответа I.Vorontsov 16 августа 2010 г. 9:05
    14 августа 2010 г. 17:20
  • Dmitri Nesteruk, что-то не открывается ссылка - "Невозможно найти удалённый сервер"
    15 августа 2010 г. 17:51
  • Dmitri Nesteruk, что-то не открывается ссылка - "Невозможно найти удалённый сервер"


    Ага, сцыль в никуда..ну я так понимаю Дмитрий имел в виду свою директиксовую консоль, она и на кодпрожекте есть

    http://www.codeproject.com/KB/dialog/mdxconsole.aspx

    15 августа 2010 г. 21:43