简体   繁体   English

wpf MVVM中有多个DataContext?

[英]Multiple DataContext in wpf MVVM?

i have a window that i'd like to bind the data context from 2 different DataModels from. 我有一个窗口,我想绑定来自2个不同DataModels的数据上下文。 i've come across this post: WPF binding multiple controls to different datacontexts and it's not working in my code. 我遇到过这篇文章: WPF将多个控件绑定到不同的datacontexts,并且在我的代码中不起作用。 i don't know if you have to set a 'new' instance of the classes to make it work, but i can't get it to show my data. 我不知道您是否必须设置类的“新”实例以使其起作用,但是我无法获取它来显示我的数据。 here's a sample 这是一个样本

<Grid>
    <Button Command="{Binding FurnaceDataViewModel.StartButtonCommand}"/>
    <Button Command="{Binding FurnaceDataViewModel.StopButtonCommand}"/>
    <Button Command="{Binding FurnaceDataViewModel.ClearButtonCommand}"/>

    <Label Content="{Binding FurnaceDataModel.TotalTimeIdle}" />
    <Label Content="{Binding FurnaceDataModel.GallonsUsed}" />
    <Label Content="{Binding FurnaceDataModel.TotalMoney}" />
    <Label Content="{Binding FurnaceDataModel.TotalTimeRun}" />       

</Grid>

i have my MainWindow Class: 我有我的MainWindow类别:

FurnaceDataContext dataContext = new FurnaceDataContext();
InitializeComponent();
DataContext = dataContext;

here's my DataContext class 这是我的DataContext类

class FurnaceDataContext
{
    public FurnaceDataViewModel FurnaceDataViewModel { get; set; }
    public FurnaceDataModel FurnaceDataModel { get; set; }
    public SqlDataModel SqlDataModel { get; set; }
}

i can't get it to display my text correctly or my button commands. 我无法正确显示文本或按钮命令。 any ideas? 有任何想法吗?

You need to instantiate inner props.... 您需要实例化内部道具。

    FurnaceDataContext dataContext = new FurnaceDataContext();

    dataContext.FurnaceDataViewModel  = new FurnaceDataViewModel();
    dataContext.FurnaceDataModel = new FurnaceDataModel();

    DataContext = dataContext;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM