无法在XAML中创建viewmodel的实例

5

我一直在寻找答案,但即使这个问题之前被问过,我似乎也找不到答案。我有一个视图模型,并且我想将其添加到xaml中应用的资源中,但是当我尝试时会显示“无法创建'AppViewModel'的实例。”

<Application.Resources>
   <src:AppViewModel x:Key="MainViewModel"/>
</Application.Resources>

我可以像这样在代码后端将其添加到资源中:
    CurrentViewModel = New AppViewModel
    Me.Resources.Add("MainViewModel", CurrentViewModel)

但是这留下了在XAML中的波浪线,显示“无法解析资源'MainViewModel'”。

一切都编译得很好,没有任何问题-绑定已经绑定,但我只是想摆脱这些波浪线。我已经阅读过你必须在viewmodel上有一个零参数构造函数,但我已经有了并仍然有这个错误。


1
可能在初始化 AppViewModel 类时存在一些错误。 - Anatolii Gabuza
是的,我刚刚发现有一个错误。出现了空引用异常。我已经修复了,谢谢。 - Barry Franklin
1个回答

4

我刚刚发现在初始化视图模型时发生了空引用的情况,但当我在代码后台初始化视图模型时却没有发生。显然,视图模型的初始化时间取决于您如何将其添加到资源中。这对我来说似乎很奇怪,但已经解决了...


我现在遇到了同样的问题,你能解释一下如何修复吗?MainViewModel.cs 中需要一些代码吗?我不太明白你的意思。提前感谢。 - jamdownian
Jamdownian 我唯一能建议的是,你的视图模型中可能有某些东西导致错误,从而阻止其初始化。我会将所有内容注释掉,然后逐个添加,直到找出问题所在。 - Barry Franklin
巴里·富兰克林,你是对的...我一段时间前就已经解决了这个问题,刚刚在我的收件箱里看到了这封邮件。有一个控件导致了这个问题... - jamdownian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接