以旧式方式向DataGrid添加行(不绑定)

时间:2012-05-04 18:57:23

标签: wpf wpfdatagrid

我想以编程方式以旧式方式向DataGrid添加行。我有一个非常快速的表单,我想与它们中的几个DataGrids一起抛出,我正在尝试向它们添加行。我不想在这种情况下使用MVVM绑定模式,因为我想保持低代码行。

我尝试了这个,但它不适合我:

private static void FillGrid(DataGrid grid, IEnumerable<decimal> values)
{
    foreach (var item in values)
    {
        grid.Items.Add(item);
    }
}

数据网格以非常小的行结束,其中没有数据。它看起来像this image。我也尝试在类中包装我的值并将该类的对象添加到DataGrid,但我得到了相同的结果。这是代码:

private class MyClass { public decimal MyDecimal { get; set; } }
private static void FillGrid(DataGrid grid, IEnumerable<decimal> values)
{
    foreach (var item in values)
    {
        grid.Items.Add(new MyClass() { MyDecimal = item });
    }
}

我对Windows Forms有更多经验。我发现MVVM绑定繁琐,过于复杂,难以调试。如何使此代码生效?

1 个答案:

答案 0 :(得分:0)

您的代码正常运行,但您必须告诉DataGrid如何处理数据。

<DataGrid>
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding}" />
    </DataGrid.Columns>
</DataGrid>

不幸的是,我没有找到没有约束力的简短方法。