0

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

我试过这个,但它不适合我:

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

数据网格以非常小的行结束,其中没有数据。它看起来像这个图像。我还尝试将我的值包装在一个类中并将该类的对象添加到 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 窗体有更多的经验。我发现 MVVM 绑定繁琐、过于复杂且难以调试。如何使此代码正常工作?

4

1 回答 1

0

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

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

不幸的是,我还没有找到没有绑定的更短的方法。

于 2012-05-04T22:49:36.593 回答