ObservableCollection <T>, состоящая из 7 других коллекций ObservableCollection <T>s - PullRequest
4 голосов
/ 07 января 2012

У меня будет 7 маленьких «списков покупок», а затем один большой, содержащий все предметы из 7 маленьких.

Можно ли использовать привязку данных и наблюдаемую коллекцию, чтобы все, что было добавлено / удалено / изменено из небольших списков, обновилось в большом списке?

public ObservableCollection<ShopItem> MondayShopList{ get; set; }
public ObservableCollection<ShopItem> TuesdayShopList{ get; set; }
public ObservableCollection<ShopItem> WedensdayShopList{ get; set; }
public ObservableCollection<ShopItem> ....
public ObservableCollection<ShopItem> TotalShopList { get; set; }

Ответы [ 2 ]

3 голосов
/ 07 января 2012

я вижу 3 варианта для вас ...

  1. реализовать составную коллекцию ObservableCollection.если такого не существует, вы можете создать его, внедрив INotifyCollectionChanged
  2. , загрузив все элементы в общий список, и самостоятельно отреагировать на события, измененные в коллекциях dayweek, и внести изменения вполная коллекция
  3. выполнить небольшое архитектурное изменение и прикрепить информацию о дне недели к ShopItem.теперь вы можете хранить их все в одном списке и отображать отфильтрованные разделы большого списка.
0 голосов
/ 07 января 2012

Нет, невозможно связать вложенные коллекции с данными, если не использовать WPF TreeView элемент управления, который поддерживает иерархическое связывание данных.Если вы хотите показать содержимое дочерних коллекций, привязайте их отдельно к Ui.Тот факт, что они являются потомками другого, является вопросом кода, и не обязательно должен отражать его точное представление отношений на Ui.

Для конкретной помощи по реализации этих сценариев смотрите эта статья MSDN

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