我正在使用 Ninject 创建一个 WPF 应用程序。我在 Application.xaml.vb 中创建了我的绑定,然后将内核存储在 Application.Current.Properties 中,以便我可以根据需要解析这些绑定。
我在设计时收到此错误:无法创建“MainUserViewModel”的实例。如果我从 MainUserViewModel 的构造函数中删除代码,我不会收到错误消息。
Public Sub New()
'IoC is the kernel
Dim repository = IoC.Get(Of IUserRepository)()
_users = New ObservableCollection(Of User)(repository.GetAll())
End Sub
但是,当我运行代码时,我的错误消失了,我的视图从 _users 填充得很好。我认为如果出现错误,代码将无法编译并且(似乎)可以工作。
我已经删除了我的虚拟机的所有其他部分并将它们全部重新添加。错误仅在我使用该行代码时出现。
谁能解释为什么会这样?我检查了存储库,所有预期的数据都在那里。
编辑
由于依赖项未运行而无法解决,因此 XAML 中是否可能发生错误?那么,据它所知,那个 observable 永远不会被初始化?