Представления в разных вкладках показывают одни и те же данные
Поэтому я пытаюсь иметь разные представления в элементе управления вкладками. Это может быть много вкладок с одним и тем же типом модели представления, но все они имеют разные данные.
Я выбираю вид в зависимости от типа модели вида:
<TabControl Grid.Column="1" Grid.Row="1" Grid.RowSpan="4" ItemsSource="{Binding OpenTabs}">
<style>
a lot of style code....
</style>
<DataTemplate DataType="{x:Type designView:TestcaseViewModel}">
<Views:DesignView/>
</DataTemplate>
<DataTemplate DataType="{x:Type returnView:ReturnViewModel}">
<Views:ReturnView/>
</DataTemplate>
</TabControl.Resources>
</TabControl>
Чтобы проверить код, я добавляю несколько разных моделей представления в свой конструктор:
public MainWindow()
{
this.InitializeComponent();
_projectViewModel = new ProjectViewModel();
LayoutRoot.DataContext = _projectViewModel;
_projectViewModel.OpenTabs.Add(new TestcaseViewModel("test"));
_projectViewModel.OpenTabs.Add(new TestcaseViewModel("My second test"));
_projectViewModel.OpenTabs.Add(new TestcaseViewModel("Another test"));
}
Теперь я вижу три разных вкладки (с разными заголовками), и они работают. За исключением того, что все они показывают одни и те же данные, и если я что-то изменю в одном из них, это произойдет со всеми остальными. Итак, я думаю, что все виды имеют одну и ту же модель вида или что-то? Как сделать так, чтобы при нажатии на новую вкладку вид на этой вкладке также использовал соответствующую модель вида?