0

我的项目中有数据网格,我像这样绑定我的属性集合:

<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}" 在我的例子中,Attributes 是一个包含 3 个值(name1、name2、name3)的列表。

4

1 回答 1

1

假设像你说的值是一个 List()。如果是这样,您可能会尝试制作 DataGridTemplateColumn 而不是 DataGridTextColumn 并制作一个包含列表或列表视图的数据模板,然后每行将有一个列表框/列表视图,显示适用于该行的所有值。如果您只想显示 value 的计数,那么您将所有内容保持原样并绑定 Value.Count 。希望这有所帮助 :)

于 2012-08-18T00:05:19.090 回答