【发布时间】:2015-04-18 11:51:58
【问题描述】:
但是,我对 WPF 和 Caliburn 还是很陌生,因为我的引导程序类中有以下内容:
protected override void OnStartup(object sender, StartupEventArgs e)
{
DisplayRootViewFor<MainWindowViewModel>();
}
据我了解(或不了解),DisplayRootViewFor 创建 View 和 ViewModel 类的实例,绑定它们并显示它们。所以我想要的是能够获得 ViewModel 类的实例。可能是我总体上并没有真正理解 MVVM 原理,但本质上,在我看来,我想说一些简单的话:
MainWindowViewModel vm = ?;
vm.Property = "Hi this is a test";
那么'?'中会写什么?或者这只是一般情况下不受欢迎的?
编辑: 正如下面对 cmets 的回答中提到的,我希望与 Avalon Dock 一起工作,而这在从 MVVM 部分访问时是出了名的糟糕。实际上,我只是在寻找一种方法来找到调用 OnStartup 时创建的 ViewModel 的正确实例。这可能吗?
【问题讨论】:
标签: c# wpf mvvm caliburn.micro