Как насчет setSeparatorColor к цвету фона Вашей ячейки?
Вы не создали экземпляр списка, в который вы пытаетесь поместить элементы.
Инициализируйте его в конструкторе вашего класса аксессуаров. Что-то вроде
Public Sub New()
_items = New List(Of Item)
End Sub
У вас есть 2 варианта, чтобы избежать исключения NullReferenceException:
1) Упомянутый подход Elder_george, где вы инициализируете свойство новым экземпляром класса:
Dim ReturnItem As New MasterItem
ReturnItem.PrimaryItem = New Item()
' or check for null then initialize (optional, depends on your needs)
If ReturnItem.PrimaryItem Is Nothing Then ReturnItem.PrimaryItem = New Item()
Проблема с этим подходом если вы не инициализируете его где-то, что, как вы знаете, всегда можно будет использовать позже, вам придется выполнить ту же проверку и / или инициализировать. Это «где-то» может быть при загрузке формы или подобном.
2) Инициализировать переменную резервного хранилища свойства. Сделайте это один раз, и вам не нужно постоянно проверять значение null. Обратите внимание на изменение в объявлении _item
ниже:
Public Class MasterItem
Private _item as Item = New Item()
Public Property PrimaryItem as Item
Get
Return _item
End Get
Set(ByVal value As Item)
_item = value
End Set
End Property
End Class
С указанным выше вы получите доступ к нему напрямую как:
Dim ReturnItem As New MasterItem
ReturnItem.PrimaryItem.ItemNo = "TEST123"