我试图找出为什么我创建的UserControl无法在xaml中设置其DataContext
PreTranslateMessage()
如果我这样做会抛出一个xamlparse异常,说DataContext = null。
如果我改为代码隐藏
<UserControl.DataContext>
<vm:MainViewModel/>
</UserControl.DataContext>
完全没有问题。
MainView和MainViewModel都是dll项目。 主窗口仅包含MainView。 MainView和MainviewModel代码:
this.DataContext = new MainViewModel();
答案 0 :(得分:0)
我终于明白了。
因为view和viewmodel都是两个单独的.dll而app(window)是一个单独的项目。
应用程序需要引用.dll,即使它只是直接使用视图