我从Caliburn.micro开始,我有点困惑.假设我有一个带有2个窗格的UI,例如(这是一个假的样本)CustomersView和CustomerView,以及2个相应的VM,CustomersViewModel和CustomerViewModel.
现在,假设我想将两个窗格都包含在主shell中,它应该能够像数据成员一样访问所有VM:例如
public class MainViewModel
{
private CustomerViewModel _vmCustomer;
private CustomersViewModel _vmCustomers;
...
}
Run Code Online (Sandbox Code Playgroud)
由于视图模型是由CM创建的,我如何将主shell连接到它们的每个实例?或者这是一种错误的方法?我不需要在规范意义上的指挥,因为我没有激活或停用MDI中的一组窗格:我有一个带有一些窗格的SDI UI,每个窗格都由其VM支持,还有一个主shell应该是操纵他们.类似场景中的正确方法是什么?
在MainView.xaml中添加两个ContentControl,并为它们指定与表示ViewModel的两个属性的名称相匹配的名称.
视图模型:
public CustomerViewModel CustomerViewModel { get; set; }
public CustomersViewModel CustomersViewModel { get; set; }
Run Code Online (Sandbox Code Playgroud)
视图:
<ContentControl x:Name="CustomerViewModel" />
<ContentControl x:Name="CustomersViewModel" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
945 次 |
| 最近记录: |