VB.net Wpf和Caliburn.micro无法将项目添加到BindableCollection

问题描述

我已经为此感到沮丧了几个小时。我不是专家,但这是基本的东西。 这是问题所在。我紧接着跟随教程https://www.youtube.com/watch?v=laPFq3Fhs8k,一切正常,到目前为止一切顺利。然后,我想将我学到的部分代码实现到我的应用程序中,但是出现错误并没有任何意义。

我的类中有两个属性。.一个来自教程(人)的类型(T)和具有相同类型的自定义(AnimeList)属性,请参见图1。

Private _animeList As BindableCollection(Of AnimeSearchEntry)

Public Property AnimeList() As BindableCollection(Of AnimeSearchEntry)
    Get
        Return _animeList
    End Get
    Set(ByVal value As BindableCollection(Of AnimeSearchEntry))
        _animeList = value
        'NotifyOfPropertyChange(Function() Animes)
    End Set
End Property


Private _people As New BindableCollection(Of AnimeSearchEntry)

Public Property People() As BindableCollection(Of AnimeSearchEntry)
    Get
        Return _people
    End Get
    Set(ByVal value As BindableCollection(Of AnimeSearchEntry))
        _people = value
    End Set
End Property

我可以用项目填充People(),但是当我尝试用相同的项目填充Animelist()时我会出错

System.NullReferenceException:“对象引用未设置为对象的实例。”

在这里拿到我的物品

 Dim Animes2 As ICollection(Of AnimeSearchEntry) = Await GetAnimeSearchResult("CowBoy")

我的循环中用项目填充列表

    For Each item In Animes2
        People.Add(item)
        AnimeList.Add(item)
    Next

因此最终导致最终使用错误,在我的情况下,这是我没有初始化字段的错误,我忘记添加为新内容

    Private _animeList As **New** BindableCollection(Of JikanDotNet.AnimeSearchEntry)
Public Property AnimeList() As BindableCollection(Of JikanDotNet.AnimeSearchEntry)
    Get
        Return _animeList
    End Get
    Set(ByVal value As BindableCollection(Of JikanDotNet.AnimeSearchEntry))
        _animeList = value
    End Set
End Property

Pic1 Pic2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...