ContentControl中的DataContext不起作用

时间:2016-11-23 10:52:19

标签: c# wpf xaml mvvm

我正在使用MaterialDesign for WPF处理WPF应用程序。 我创建了包含导航抽屉的MainWindow。 这是MainWindow的XAML:

<materialDesign:DialogHost>
    <materialDesign:DrawerHost IsLeftDrawerOpen="{Binding IsChecked, ElementName=MenuToggleButton}">
        <materialDesign:DrawerHost.LeftDrawerContent>
        <!--Drawer content-->
        </materialDesign:DrawerHost.LeftDrawerContent>

        <!-- Here is my Content-->
        <ContentControl Name="ContentControl"/>
    </materialDesign:DrawerHost>
</materialDesign:DialogHost>

在MainWindow的ViewModel中,我添加了OnMenuItemSelected方法 将新内容设置为ContentControl,如下所示:

public void OnMenuItemSelected(object menuItem)
{
    var itemName = (DrawerMenuItem)menuItem;
    switch (itemName)
    {
        case DrawerMenuItem.Home:
            var window = new ProceduresWindow();
            _contentControl.Content = window.Content;
            break;
        //others
    }
}

在上面的示例中,当我单击HomeControl的内容按钮时,ContentControl的内容应该替换为此示例ProcedureWindow中的另一个Window。 新的ProcedureWindow在XAML中设置了DataContext,如下所示:

 <Window.DataContext>
        <windows:ProceduresViewModel></windows:ProceduresViewModel>
  </Window.DataContext>

内容正在替换正确但ViewModel无效。任何人都知道如何解决这个问题?

0 个答案:

没有答案