背景 :-
我有一个 wpf 视图,其中包含一个组合框,该组合框由使用 caliburn micro/ninject 和 mvvm 模式的视图模型填充;此视图还包含一个堆栈面板区域。当用户从组合框中选择适当的选项时,我将适当的用户控件插入到堆栈面板中,向用户呈现到相关显示的无缝过渡。
显示在堆栈面板中的每个“嵌套”用户控件都有自己的视图模型,由 caliburn micro 自动关联。
问题 :-
“嵌套”用户控件绑定都尝试引用父视图模型,而不是专门与它们关联的视图模型。
最初,我可以通过指定来解决这个问题:-
<UserControl.DataContext>
<vm:UserControlSpecificViewModel/>
</UserControl.DataContext>
但这需要视图模型中的无参数构造函数,但我需要能够将参数传递给此视图模型,以便 Ninject 可以注入诸如 EventAggregator 之类的对象。
由于我对 WPF 还很陌生,所以在圆圈中四处走动,因此将不胜感激。
谢谢。
詹姆士。