C# 如何将类填充到网格

C# 如何将类填充到网格,c#,wpf,C#,Wpf,我有一个包含各种类型成员的类信息字段。我想将ObservableCollection属性绑定到某种WPF控制器 类成员水平列出,所有集合元素垂直列出。 列和行都有标题。 我可以为各种数据类型应用不同的数据模板。 我可以按列标题(例如ShowRpm)来选择其下的所有复选框。 我一直在用ListView进行测试,但我不确定这样做是否正确。从我所看到的情况来看,我在使用ListView获得第二点和第四点时会遇到困难。有人知道该使用哪个控件吗 ShowRpm ShowCurre

我有一个包含各种类型成员的类信息字段。我想将ObservableCollection属性绑定到某种WPF控制器

类成员水平列出,所有集合元素垂直列出。 列和行都有标题。 我可以为各种数据类型应用不同的数据模板。 我可以按列标题(例如ShowRpm)来选择其下的所有复选框。 我一直在用ListView进行测试,但我不确定这样做是否正确。从我所看到的情况来看,我在使用ListView获得第二点和第四点时会遇到困难。有人知道该使用哪个控件吗

          ShowRpm    ShowCurrent  ShowTemperature  Direction
Motor1   (checkbox)  (checkbox)   (checkbox)       (combobox)
Motor2   (checkbox)  (checkbox)   (checkbox)       (combobox)
Motor3   (checkbox)  (checkbox)   (checkbox)       (combobox)
 ...
MotorN   (checkbox)  (checkbox)   (checkbox)       (combobox)
C:


我建议您使用DataGrid。通过一些定制,您应该能够统计所有选项。这是您可以使用的起点

//Collection for the datagrid
public ObservableCollection<InfoField> infoFieldData;

public MainWindow()
{
    InitializeComponent();

    infoFieldData = new ObservableCollection<InfoField>();

    InfoField info1 = new InfoField();
    InfoField info2 = new InfoField();

    infoFieldData.Add(info1);
    infoFieldData.Add(info2);

    dataGrid.ItemsSource = infoFieldData;
    dataGrid.Items.Refresh();
}



public class InfoField
{
    public bool ShowRpm { get; set; }
    public bool ShowCurrent { get; set; }
    public bool ShowTemperature { get; set; }
    public Direction Direction { get; set; }
}

public enum Direction
{
    Horizontal,
    Vertical
}
数据网格XAML

<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" VerticalAlignment="Top" CanUserAddRows="False"/>
关于行标题的第2点,有一个问题

对于第4点,有这个

我会考虑使用DATAGIDVIEW。您可能需要做一些定制来满足您的所有要求,但这应该是一个良好的开端。
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" VerticalAlignment="Top" CanUserAddRows="False"/>