C# WPF DataGrid:如何显示具有双值的对象

C# WPF DataGrid:如何显示具有双值的对象,c#,wpf,datagrid,C#,Wpf,Datagrid,我有一个这样的物体: public class MChiStructure { [System.Runtime.Serialization.OptionalField(VersionAdded = 2)] public double chiV1Plus; [System.Runtime.Serialization.OptionalField(VersionAdded = 2)] public double chiV1Minus; [System.Runti

我有一个这样的物体:

public class MChiStructure
{
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double chiV1Plus;
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double chiV1Minus;
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double mV1Plus;
...
}
我想要一个DataGrid,它在第一列显示变量名,在第二列显示双值。 我还想知道是否有可能隐藏某些值(例如,如果一个值为负值,则必须隐藏)


感谢大家

它是代码隐藏的应用程序,首先您应该创建一个模型类并在代码隐藏后填充它。这就是全部。请看一个例子:

型号:

public class MChiStructure
{
    public string TitleField { get; set; }

    public double chiV1Plus { get; set; }

    public double chiV1Minus { get; set; }         

    public double mV1Plus { get; set; }
}
public MainWindow()
{
    InitializeComponent();
    FillDataGrid();
}

private void FillDataGrid()
{
   ObservableCollection<MChiStructure> coll = new ObservableCollection<MChiStructure>();
   for (int start = 0; start < 10; start++)
   {
      coll.Add(new MChiStructure(){TitleField="Title " + start.ToString(), 
      chiV1Minus=start-1, chiV1Plus=start+1, mV1Plus=start-1});                                
   }
   dataGrid.ItemsSource = coll;       
}
<DataGrid Name="dataGrid"/>
窗口后面的代码:

public class MChiStructure
{
    public string TitleField { get; set; }

    public double chiV1Plus { get; set; }

    public double chiV1Minus { get; set; }         

    public double mV1Plus { get; set; }
}
public MainWindow()
{
    InitializeComponent();
    FillDataGrid();
}

private void FillDataGrid()
{
   ObservableCollection<MChiStructure> coll = new ObservableCollection<MChiStructure>();
   for (int start = 0; start < 10; start++)
   {
      coll.Add(new MChiStructure(){TitleField="Title " + start.ToString(), 
      chiV1Minus=start-1, chiV1Plus=start+1, mV1Plus=start-1});                                
   }
   dataGrid.ItemsSource = coll;       
}
<DataGrid Name="dataGrid"/>
看起来是这样的:

public class MChiStructure
{
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double chiV1Plus;
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double chiV1Minus;
    [System.Runtime.Serialization.OptionalField(VersionAdded = 2)]
    public double mV1Plus;
...
}

您确定要使用DataGrid吗?在我看来,使用ListView更好?为什么选择DataGrid?如何使用ListView?用你的解决方案发布答案,谢谢!此解决方案是否在网格中显示变量名及其值?它似乎只显示TitleField和所有的值…我需要每个值都有它的名称shownit并不是我所需要的。我希望看到如下行:chiv1plus 1;chiv2plus 0;chiv3plus 2。。。因此,每行必须在第一个单元格中有对象字段的名称,在第二个单元格中有字段的值cell@FrancescoDS请看我的最新答案。如果对你有帮助的话,你可以把我的回复标记为一个答案,以加快将来搜索其他人的速度