Привязка данных к LinkedList? - PullRequest
1 голос
/ 27 января 2012

Что работает:

  • Веб-служба, которая управляет LinkedList в памяти (из строк).
  • Клиенты могут вставлять / добавлять / удалять / запрашиватьсодержимое LinkedList.
  • Веб-служба запускается из командной строки (без пользовательского интерфейса).

Что я хотел бы сделать:

  • Измените приложение командной строки на приложение WPF.
  • Из приложения WPF отобразите текущее состояние LinkedList.
  • Данные связывают элемент управления пользовательского интерфейса, чтобы любые действия клиента былиотражается на дисплее.

Скорость не является большой проблемой, так как приложение WPF доступно только для чтения и более информативно.Я выбрал LinkedList для поддержки необходимой клиентской функциональности.

У меня возникают трудности с поиском руководств и / или примеров, которые могут помочь.Любые предложения о том, как мне подходить к этому, было бы здорово.

1 Ответ

4 голосов
/ 27 января 2012
  • Создайте новый класс с именем ObservableLinkedList и реализуйте INotifyCollectionChanged .
  • Дайте те же методы в этом классе, что и LinkedList, и внутренне перенаправьте все методы в содержащийся связанный список
  • но также запускает события INotifyCollectionChanged, чтобы WPF мог знать, что ваш связанный список изменился.

Чтобы WPF знал, что связанная коллекция изменилась;он должен реализовывать INotifyCollectionChanged

ИЛИ

Просто запускать просмотр коллекции при каждом обновлении связанного списка следующим образом

CollectionViewSource.GetDefaultView(ViewModel.TheCollectionProperty).Refresh();
...