2012-07-12 2 views
0

У меня есть следующая структураLink List (структур) в DataGrid

Public Structure matrixblock 
    Public name As String 
    Public firstReference As List 
    Public secondReference As List 
End Structure 

я экономлю кучу этих структур в другом списке:

dim result as List(of matrixblock) 

Я хотел бы, чтобы связать этот список DataGrid и в столбцах должны быть:

  • Колонка один: имя
  • Co lumn два: firstReference.Count
  • Колонка три: secondReference.Count

Может кто-то помочь мне с установкой это?

ответ

0

Если вы связываете структуру матричного блока напрямую, если какие-либо элементы добавлены во внутренние списки, свойства count count не будут обновляться. Вам было бы лучше сделать этот класс и реализовать интерфейс INotifyPropertyChanged и добавить два новых свойства для вас, которые представляют вам свойства count в списке.

Однако, если вы это сделали, все равно придется обрабатывать логику знания, когда количество списков было изменено, когда элементы добавлены или удалены в список. Вы можете использовать ObservableCollections для решения этой проблемы.

В действительности, вы не должны связывать структуру или класс в любом случае и должны использовать шаблон MVVM и иметь ViewModel, который предоставляет свойства, которые вы хотите привязать к datagrid. Быстрый поиск по Google укажет вам в правильном направлении на шаблон MVVM.

+0

Список результатов в моем проекте больше не будет изменен в то время, когда я поместил данные в datagrid. Могу ли я не просто извлекать элементы из своей структуры для каждой строки, а затем создавать их в datagrid? – benst

+0

Ben, если значения count не будут меняться после установки, вы можете просто представить два значения Count в качестве конкретных свойств вашего struct/class или wrapper ViewModel, если вы спуститесь по этому маршруту. – stevethethread

Смежные вопросы