无法在WPF中的DataGrid中显示列表项

时间:2018-04-03 06:50:46

标签: c# wpf datagrid

我创建了类DisplayTable,如下所述。

我还创建了一个列表,将类的内容添加到列表中。

我将填充的列表推送到DataGrid。但我无法在DataGrid中查看这些内容。请帮助解决这个问题。

public class DisplayTable
{
    public int AnalyteId;
    public int UnitCode;
    public int ReferenceValue;
}
private void btnAddAnalyte_Click(object sender, RoutedEventArgs e)
{
    DisplayTable d = new DisplayTable();
    List<DisplayTable> list = new List<DisplayTable>();
    foreach (CheckBox item in this.AnalyteLitst.Items)
    {
        if (item.IsChecked == true)
        {
            d.AnalyteId = 1;
        }
    }
    foreach (CheckBox unit in this.UnitsList.Items)
    {
        if (unit.IsChecked == true)
        {
            d.UnitCode = 12;
        }
    }
    list.Add(d);
    dataGrid.AutoGenerateColumns = true;
    dataGrid.IsReadOnly = false;
    dataGrid.RowHeight = 30;
    dataGrid.ColumnWidth = 100;
    dataGrid.ItemsSource = list;
}

2 个答案:

答案 0 :(得分:2)

DataGrid仅为属性自动生成列,因为每列创建绑定,WPF绑定需要属性DisplayTable类声明了字段

而不是

public int AnalyteId;

public int AnalyteId { get; set; }

以相同的方式修复其他数据成员

答案 1 :(得分:-1)

用于绑定,始终使用public properties

将DisplayTable.cs更改为

public class DisplayTable
{
    public int AnalyteId { get; set; }
    public int UnitCode { get; set; }
    public int ReferenceValue { get; set; }
}