我的应用程序是WPF,VS 2010 PRISM和Unity。我想在Adorner的构造函数初始化时访问viewmodel中的Views Dockpanel控件。任何帮助,将不胜感激。
答案 0 :(得分:3)
烨。你没有正确回答。在MVVM中,VM根本不应该知道Views。您应该将视图绑定到视图模型。
然而,当然某些情况下这种模式/模型会崩溃。此时,您可以考虑使用MVPVM pattern *。可以访问View的类称为Presenter。
*说真的,我甚至不在开玩笑。此链接是Microsoft杂志链接。
答案 1 :(得分:1)
简单的方法是您可以解析IUnityContainer
的View并可以访问控件,如:
readonly IUnityContainer _container;
public CONSTRUCTOR(IUnityContainer container)
{
_container=container;
var resolved = _container.Resolve<IEmployeeView>();
// cast your resolved view as View.
var views = resolved as YOURVIEWNAME;
// and get control.
var controls = views.YOURDOCPANELNAME;
}