В текущем проекте, над которым мы работаем, у нас есть главное окно с несколькими представлениями (каждое со своей собственной моделью представления), которые представлены как элементы в элементе управления вкладкой.Например: один элемент вкладки является редактором и содержит следующий вид редактора:
<TabItem Header="Test Editor">
<TestEditor:TestEditorView DataContext="{Binding TestEditorViewModel}"/>
</TabItem>
Другой показывает результаты:
<TabItem Header="Results Viewer">
<ResultViewer:ResultViewer x:Name="resultViewer1" DataContext="{Binding Path=ResultViewModel}" />
</TabItem>
и т. Д.
Я бы хотелиметь привязку TabItems к чему-либо в модели представления главного окна, но я не могу понять, как связать имя представления с любым свойством, не нарушая шаблон MVVM.Я хотел бы иметь что-то вроде:
<TabControl.ContentTemplate>
<DataTemplate>
<TestEditor:TestEditorView DataContext ="{Binding TabDataContext}"/>
</DataTemplate>
</TabControl.ContentTemplate>
только с некоторой привязкой вместо необходимости знать во время разработки, какой тип будет использоваться в качестве контента.
Есть идеи?