Я думаю, что это неправильный способ думать о паттерне MVVM. Позвольте мне проиллюстрировать это, слегка изменив свой вопрос.
Если у вас есть какой-то пользовательский элемент управления для редактирования текста, как лучше всего передавать события нажатия клавиш в ViewModel?
Не лучше ли связать данные с элементом управления, а затем обновить данные через привязку при манипуляциях с элементом управления?
Итак, у вас есть список объектов, которые вы хотите показать в 3D виде? Передайте объекты такими, какие они есть, и используйте привязку шаблона для привязки каждого типа объекта к шаблону данных, описывающему 3D-объект, который включает в себя привязки к элементам X, Y, Z в объекте.