[英]How to bind 2 commands from 2 different ViewModels to a Button. WPF MVVM
[英]How to bind multiple viewmodels to a single xaml file in MVVM wpf?
我在Mainwindow.xaml中有三个网格,每个网格中都有多个控件。 对于每个网格,我创建了一个单独的视图模型。
但是在Mainwindow.xaml中,我能够将DataContext属性设置为仅一个类,这仅允许将数据绑定到一个网格。
如何克服呢?
有几种方法。 首先,您可以在MainViewModel中添加ViewModels,如下所示:
public class MainViewModel
{
public Grid1ViewModel G1VM {get;set;}
public Grid2ViewModel G2VM {get;set;}
}
然后在您的窗口中,应将其数据上下文设置为:
public class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel()
{
G1VM = new Grid1ViewModel(),
G2VM = new Grid2ViewModel()
};
}
}
然后在MainWindow.xaml中,可以为不同的Grid设置数据上下文,例如:
<Window>
...
...
<Grid DataContext="{Binding G1VM}"/>
<Grid DataContext="{Binding G2VM}"/>
</Window>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.