2

我有这样的Settings课:

public class Settings {
    public string Foo { get; set; }
    public int Bar { get; set; }
}

我可能有以下实例:

new Settings {
    Foo = "xxx",
    Bar = 20
}

我想在 DataGrid 中显示该类,如下所示:

--------------------
| Settings | Value |
--------------------
|   Foo    |  xxx  |
|   Bar    |  20   |

什么是正确的做法?我知道我可以创建一些临时类(具有两个属性),并使用反射创建该类的多个实例作为属性Settings,但我也许有一种更简洁的方法,利用绑定(两种方式)等.

我正在使用 WPF + MVVM。

4

2 回答 2

1

如果您只是像这样显示单个类实例,最好不要使用DataGrid. 只需DataTemplate为您的班级建立一个自定义,以根据 2x3 网格显示您如何选择。

于 2013-10-04T17:42:55.147 回答
-1

您可以将类绑定到 DataGrid。

首先,您必须将属性绑定到 DataGrid 中的列。

<DataGrid Name="dtgSettings" Height="200">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Foo" Width="150" Binding="{Binding Foo}" />
        <DataGridTextColumn Header="Bar" Width="150" Binding="{Binding Bar}" />
    </DataGrid.Columns>
</DataGrid>

之后,它只是动态地添加新的设置。

dtgSettings.Items.Add( new Settings
{
    Foo = "Foo",
    Bar = 0,
};
于 2013-10-04T17:49:49.763 回答