不同选项卡中的视图显示相同的数据

时间:2015-01-11 21:49:44

标签: wpf data-binding tabcontrol

所以我试图在标签控件中使用不同的视图。它可以是具有相同类型的视图模型的许多选项卡,但它们都具有不同的数据。

我根据视图模型类型选择视图:

<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>

为了测试代码,我在构造函数中添加了几个不同的viewmodel:

    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")); 
    }

我现在看到三个不同的标签(带有不同的标题)并且它们有效。除了它们都显示相同的数据,如果我改变其中一个数据,它会发生在所有其他数据上。所以我猜所有的观点共享相同的视图模型或什么?当我点击新标签页时,该选项卡中的视图也使用相应的视图模型?

0 个答案:

没有答案