DataListView с DataSource из ObservableCollection не отображает вновь добавленные объекты - PullRequest
0 голосов
/ 06 января 2020
  1. Создана форма с одной кнопкой и одним DataListView.

  2. Добавлен этот код в форму:

    Dim dummies As New ObservableCollection(Of Dummy)

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        dlvDummies.DataSource = dummies
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        dummies.Add(New Dummy(Now.ToLongTimeString()))
    End Sub

    Class Dummy
        Public Property X As String
        Sub New(x As String)
            Me.X = x
        End Sub
    End Class
Запустил приложение, нажал кнопку. В отладчике я вижу новую запись, добавленную в ObservableCollection и, соответственно, в DataListView. Объекты:

enter image description here

Элемент никогда не появляется в GUI (Да, единственный столбец DataListView уже настроен с именем аспекта "X" во время разработки.)

enter image description here

Это на самом деле воспроизведение голой кости проблемы, которую я имею в большом приложении. Ответ, данный в { ссылка }, подразумевает, что это должно «просто работать». Это дефект или ошибка пользователя с моей стороны?

1 Ответ

0 голосов
/ 07 января 2020

Исправлена ​​замена ObservableCollection (Of foo) на BindingList (Of foo), или, скорее, обходилась вокруг этого.

Я думаю, основываясь на обсуждении, замеченном в https://sourceforge.net/p/objectlistview/discussion/812923/thread/ab0d6208/, что принятый ответ в { ссылка } неверен и, вероятно, должен быть отредактирован.

...