【发布时间】:2013-10-31 13:53:58
【问题描述】:
我的程序由地面层的TreeView 和两个contentPresenters 组成。主窗口TreeView 和每个contentPresenter 都有自己的viewModel。
我想从TreeViewViewModel调用mainWindowViewModel中的一个函数。
我需要这样做,因为mainWindowViewModel 控制contentPresenters 中显示的内容,我想手动更新显示。
我猜我会做这样的事情......
TreeViewViewModel:
public class TreeViewViewModel
{
//Do I need to declare the MainWindowVM?
public TreeViewViewModel() { ... }
private void function()
{
//Command that affects display
//Manually call function in MainWindowVM to refresh View
}
}
我已尝试使用以下方法从TreeViewViewModel 访问MainWindowVM:
public MainWindowViewModel ViewModel { get { return DataContext as MainWindowViewModel; } }
但这没有多大意义。因为 MWVM 不是 TreeViewViewModel 的 DataContext。
【问题讨论】: