У меня есть MainView с пользовательским интерфейсом с вкладками.
Как добавить новый TabItem (= View) в TabControl?
В основном я вижу 2 способа:
1.)
* из кода в MainView я могу добавить новую вкладку.
* новая вкладка содержит представление со ссылкой на его модель представления.
2.)
* из кода в MainViewModel я могу добавить новую viewmodel в список childViewModels
* tabcontrol mainView привязан к этому списку
Я предпочитаю случай №1 как-то, потому что я думаю, что представление должно знать и создавать экземпляр своей виртуальной машины (может быть, используя MVVM light ViewModelLocator), а не наоборот.
Но как я могу сослаться с недавно созданной виртуальной машины на MainVM? Например: MainVM имеет свойство IsAdmin; Как я могу получить доступ (связать) это свойство из SubViewModel?
альтернатива # 2: как TabControl узнает, какое представление должно быть «визуализировано» для разных ViewModels? Как я могу "отобразить" из SubViewModels в соответствующие "SubViews"?
Спасибо, что поделились своими идеями!