【问题标题】:Cannot create instance of viewmodel in xaml无法在 xaml 中创建视图模型实例
【发布时间】:2011-12-20 10:50:03
【问题描述】:

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

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

我可以像这样将它添加到后面代码中的资源中:

    CurrentViewModel = New AppViewModel
    Me.Resources.Add("MainViewModel", CurrentViewModel)

但这让我在 xaml 中留下了波浪线,上面写着“资源“MainViewModel”无法解析。”

一切都编译得很好并且没有任何问题 - 绑定被绑定等等,但我只想摆脱波浪线。我读过你必须在视图模型上有一个零参数构造函数,但我有这个并且仍然有这个错误。

【问题讨论】:

  • 可能是在初始化AppViewModel类时出现了一些错误。
  • 是的,我刚刚发现有一个错误。发生空引用异常。我修好了,谢谢。

标签: silverlight xaml binding mvvm viewmodel


【解决方案1】:

我刚刚发现在初始化视图模型时发生了一个空引用,而当我在后面的代码中初始化视图模型时却没有发生。显然,视图模型在不同的时间被初始化,这取决于你如何将它添加到资源中。这对我来说似乎很奇怪,但它是固定的......

【讨论】:

  • 我现在遇到了同样的问题,你能解释一下如何解决它。 MainViewModel.cs 中是否需要一些代码?我真的不明白你在说什么。提前致谢。
  • Jamdownian 我唯一可以建议的是,您的视图模型中有一些东西会导致错误,阻止它被初始化。我会将所有内容都注释掉,然后一次又一次地放回一件事,直到我弄明白为止。
  • 巴里·富兰克林,你是对的......我不久前想通了,刚刚在我的收件箱中看到了这个。有一个控件导致了这个问题..
猜你喜欢
  • 2021-05-21
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 2022-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多