C# 由于数据上下文(WPF),无法连接视图

C# 由于数据上下文(WPF),无法连接视图,c#,wpf,mvvm,data-binding,view,C#,Wpf,Mvvm,Data Binding,View,所以我的问题是,最初我在MainWindow.xaml类中得到了以下代码 <Button Margin="10,20,10,10" Height="37" Command="{Binding AddCmd}">View all customers</Button> .... <TabControl x:Name="myTabs" ItemsSource="{Binding Wo

所以我的问题是,最初我在MainWindow.xaml类中得到了以下代码

<Button Margin="10,20,10,10" Height="37" Command="{Binding AddCmd}">View all customers</Button>
....
<TabControl x:Name="myTabs" ItemsSource="{Binding WorkSpaces}" Height="323">
                            <TabControl.Resources>
                                <DataTemplate DataType="{x:Type viewmodel:AllCustomersViewModel}">
                                    <views:AllCustomersView/>
                                </DataTemplate>
                            </TabControl.Resources>
                            <TabControl.ItemTemplate>
                                ....
                            </TabControl.ItemTemplate>
                        </TabControl>
因此,基本上我想要的是,当我单击“查看所有客户”按钮时,它将向工作区列表添加一个新的AllCustomerViewModel,并在屏幕上显示AllCustomerView。 但是,我不能这样做。但是,当我删除MainWindow.xaml.cs类中的行“myTabs.DataContext=this.DataContext;”时,它就工作了! 有人能给我解释一下原因吗?因为我已经将AllCustomerView数据上下文设置为AllCustomerViewModel。我不明白为什么我的申请会出现这一行。
谢谢。

假设
myTabs
是主窗口可视树中的一个元素,则分配
myTabs.DataContext=this.DataContext一开始似乎是无用的。默认情况下,DataContext属性值由所有子元素继承。起初,我添加它们是为了调试。
public MainWindow()
        {
            InitializeComponent();
            this.DataContext = new DemoWPFApp.ViewModel.MainWindowViewModel();
            myTabs.DataContext = this.DataContext; //that is where the problem is
        }