【发布时间】:2015-12-17 12:54:04
【问题描述】:
我有一个带有元组的 ObservableCollection,并且想将它绑定到我的 DataGrid。这是 ObservableCollection:
ObservableCollection<Tuple<NetworkItem, List<NetworkItem>>> ListNetworkItems = new ObservableCollection<Tuple<NetworkItem, List<NetworkItem>>>();
这是我的数据网格:
<DataGrid x:Name="NetworkDataGrid"
ItemsSource="{Binding ListNetworkItems}" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Sender">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Item1.Device.Name, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Receiver">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Item2.Device.Name, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
问题是,如何绑定 ObservableCollection 中的第二项?这是 ObservableCollection 中 item1 下面的几个设备的列表。我的 DataGrid 应该如下所示:
Sender Receiver
Device 1 Device 2
Device 3
Device 5
Device 2 Device 1
Device 3 Device 2
Device 4
【问题讨论】:
-
尝试将
ItemsControl放入Receiver 列的DataTemplate 中,并将Item2绑定到该控件的ItemsSource属性。