@yury_yatskov

Как получить (содать) коллекцию которая содержит «вычисляемое свойство» в классе ViewModel из базовой коллекции в Model?

Прошу помощи с MVVM, а именно с выводом коллекции которая содержит «вычисляемое свойство» в классе ViewModel (наследуется от класса из Model), которого нет в классе Model. На входе уже есть заполненная коллекция. Пересмотрел боле 50 примеров по MVVM, все что видел, так это используют класс из мoдели. В этом случае все просто. А в реальных системах может быть несколько View и в каждой могут быть похожие данные но с разными вычисляемыми свойствами. Грубо говоря мне нужен Downcasting коллекции или еще его называют контрвариантностью и нужно сохранить привязку так чтобы данные обновлялись когда изменяется базовая коллекция, но при этом не заменялась полностью.
К примеру в Model есть класс Person со свойствами Name, Surname и есть колекция ObservableCollection PeopleModel.
Во ViewModel есть класс PersonWithFullName наследуемый от Person и содержащий вычисляемое свойство FullName, и соответственно есть коллекция ObservableCollection People. И тут нестыковка, исходные данные в эту коллекцию должы быть взяты из коллекции с модели ObservableCollection PeopleModel.
Как такую штуку делают в реальных системах? Неужели полностью вручную перезаполняют коллекцию с базового на наследуемый и делают это каждый раз кода изменяются данные в базовой? Может у кого есть пример или кто натолкнет в какую сторону копать?
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sttrox
Быть может Вы передадите в ItemsControl коллекцию "ObservableCollection PeopleModel", после чего в реализацию ItemTemplate добавите конвертек, который скомпанует нужные свойства в единое и выведет в форме указанной этим же ItemTemplate
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы