我有一个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。
答案 0 :(得分:1)
如果您只是展示这样的单个类实例,最好不要使用DataGrid
。只需为您的班级构建自定义DataTemplate
,即可根据2x3网格显示您的选择。
答案 1 :(得分:-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,
};