views:

22

answers:

2

I want to bind two lists to two columns of a Wpf DataGrid. How is this done in Xaml?

Class MainWindow 

    Public Property Column1 As List(Of Integer) = New List(Of Integer) From {1, 2, 3}
    Public Property Column2 As List(Of Integer) = New List(Of Integer) From {4, 5, 6}

End Class
+1  A: 

You don't. You create a new list which merges data from the two lists into one and use the merged list as source for the datagrid.

Wallstreet Programmer
A: 

Zip them :

dataGrid1.ItemsSource = Column1 _
                        .Zip(Column2, _
                             Function(c1, c2) New With { .Column1 = c1, .Column2 = c2 })

XAML

...
<DataGridTextColumn Binding="{Binding Column1}" />
<DataGridTextColumn Binding="{Binding Column2}" />
...
Thomas Levesque