Вы можете создать свойства-оболочки, которые сглаживают ваши A и B-сущности по мере необходимости для элементов управления представлением и открывают их для общего доступа из Model.
Так, например, в модели у вас есть частный покровитель ObservableCollection<A>
. Затем у вас есть общедоступный ObservableCollection<A>
, который просто возвращает частного покровителя для привязки ленты.
Затем также есть общедоступный ObservableCollection<B>
, который делает все, что ему нужно, в своем геттере, чтобы вернуть то, что вы хотите для контекстного меню. Например, если вы хотите, чтобы отдельные B были одинаковыми во всех As, пусть получатель сделает запрос ко всем B, чтобы вернуть правильный список.
Наконец, чтобы сообщить, что в Model были внесены изменения, внедрите INotifyPropertyChanged и вызовите событие PropertyChanged в установщиках ваших открытых членов.