У меня есть набор групп разных типов элементов, все наследующие образуют общий базовый тип (ItemBase). Каждая из моих групп имеет коллекцию предметов типа ObservableCollection<ItemBase>
.DataTemplateSelector в SemanticZoom.ZoomedOutView
В моем SemanticZoom.ZoomedInView я могу установить DataTemplateSelector, а в SelectTemplateCore() я могу указать параметр item, чтобы определить, какой шаблон применить.
В моем увеличенном виде объекты передаются как DependencyObjects, и я не могу на всю жизнь выяснить, как я могу передать данные, чтобы определить, какой шаблон использовать.
Чтобы установить источник пунктов GridView в уменьшенном масштабе зрения, я использую
(semZm.ZoomedOutView as ListViewBase).ItemsSource = this.groupedItemsViewSource.View.CollectionGroups;
, как это, кажется, единственный способ получить zoomedin и zoomedout вида синхронизации (при нажатии на группа в увеличенном виде, она должна отвезти меня в нужное место в zoomedinview, чтобы увидеть подробности этой группы.
Итак, я пропустил что-то очевидное с точки зрения получения фактической группы в SelectTemplateCore(), или если это не так, есть лучший способ привязки моего ItemsSource к ZoomedOutView?