Что такое быстрый способ визуализации представления журнала в WPF? - PullRequest
2 голосов
/ 10 января 2009

Я пишу приложение, которое нуждается в представлении в виде журнала (аналогично тому, как клиент IM отображает сообщения в диалоге) с потенциально большим количеством обновлений в секунду. Скорость - проблема здесь; блокировка приложения из-за большого количества входящих событий является возможной проблемой. Мне нужно выделение и базовое форматирование текста, поэтому ручной рендеринг может быть довольно сложным, и я хотел бы избежать его, если это возможно. Я также хотел бы закрепить нижнюю полосу прокрутки, то есть, если она находится внизу, оставаться в нижней части при добавлении нового элемента. Что было бы хорошим способом реализовать это?

Ответы [ 2 ]

5 голосов
/ 10 января 2009

Вы можете очень легко реализовать это в WPF.

  1. Создание ObservableCollection объектов Log и привязка к ListBox.
  2. Дайте DataTemplate для ListBox.ItemTemplate.

* При работе в режиме реального времени требуется виртуализация на стороне пользовательского интерфейса или на стороне данных. Проверьте мою PaginatedObservableCollection , чтобы DataVirtualization автоматически функционировал.

0 голосов
/ 10 января 2009

Я думаю, вам стоит взглянуть на элементы управления ListView / ListBox, они поддерживают виртуализацию пользовательского интерфейса и предоставляют нужную вам функциональность. Также вы можете повысить производительность за счет виртуализации данных / отложенной загрузки - то есть не удерживайте невидимые элементы в памяти и загружайте необходимые данные по требованию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...