将对象(具有列表成员)绑定到datagrid

时间:2013-12-03 14:20:45

标签: c# .net list datagrid

我遇到了问题。我想将一个对象列表绑定到一个数据网格。绑定没问题,它正在工作,但我遇到了这些对象的一个​​成员的问题:List类型。

DataGrid仅在此单元格中显示“(Collection)”。这是我的班级:

public class ObjectOfMyProgram
{
    double val1;
    double val2;
    double result;

    List<double> input;
}

当我将它绑定到我的dataGrid时,我得到一个列:

[输入]
(集合)
(集合)
(集合)
(集合)

任何人都可以帮我正确地显示双重值,每个都在一列中吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

为了将DataGrid绑定到集合,必须指定每个列应从绑定对象中获取哪些数据。你这样做:

<DataGrid ItemsSource="{Binding collection}" AutoGenerateColumns="False" >
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="val1">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding val1}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
         </DataGridTemplateColumn>
         <!-- add more columns here -->
    </DataGrid.Columns>
</DataGrid>

对于简单类型,您可以使用这些模板而不是DataGridTemplateColumn

  • DataGridCheckBoxColumn表示布尔值
  • DataGridComboBoxColumn了解可枚举值
  • DataGridHyperlinkColumn代表Uri值
  • DataGridTextColumn显示文字值
相关问题