【发布时间】:2015-03-18 18:16:34
【问题描述】:
我在后面的代码中初始化用户控件,因为控件 ctor 将 MainViewModel 作为参数。我也有一个默认的 ctor 来让 XAML 满意。
现在,据我了解 - XAML 使用默认 ctor 自动初始化用户控件,但是当我在后面的代码中重新初始化它时 - 我可以看到这不起作用,因为我遇到了各种绑定错误。
XAML:
<childViews:SomeView x:Name="SomeViewUc"/>
XAML.cs:
public MainView(IMainViewModel mainViewModel)
{
InitializeComponent();
DataContext = mainViewModel;
SomeViewUc = new SomeView(new SomeViewModel(mainViewModel));
}
为什么新的初始化不起作用?有什么想法吗?
【问题讨论】:
-
您确定以这种方式设置视图上下文是个好主意吗?大多数人都是通过 xaml 做到这一点的。同样,您的视图也依赖于视图模型。