我的项目中有datagrid,我绑定了我的属性集合,如下所示:
<DataGrid
Grid.Row="1"
ItemsSource="{Binding Attributes}"
AutoGenerateColumns="False"
Margin="5"
>
<DataGrid.Columns>
<DataGridTextColumn Width="3*" Header="Name" IsReadOnly="True" Binding="{Binding name}" />
<DataGridTextColumn Width="3*" Header="Field" Binding="{Binding field}" />
<DataGridTextColumn Width="3*" Header="Type" Binding="{Binding type}" />
<DataGridTextColumn Width="3*" Header="Value" Binding="{Binding value}" />
问题是名称,字段和类型是字符串,值是列表。我怎样才能以这种方式将它绑定到Datagrid:
Name Field Type Value
----- ------- ------ -----
name1 xField1 xType1 1
name1 xField1 xType1 2
name1 xField1 xType1 3
name1 xField1 xType1 4
name1 xField2 xType2 5
name2 xField2 xType2 20
name2 xField2 xType2 30
name2 xField2 xType2 40
name3 xField3 xType3 100
在我的案例中,ItemsSource =“{Binding Attributes}”属性是3个值的列表(name1,name2,name3)。
答案 0 :(得分:1)
假设你说的值是List()。如果是这样,您可能尝试创建DataGridTemplateColumn而不是DataGridTextColumn,并创建一个包含列表或列表视图的datatemplate,然后每行将有一个listbox / listview,显示适用于该行的所有值。如果您只想显示值的计数,那么您将保留所有内容,并绑定Value.Count。希望这有点帮助:))