.NET 4.0 WPF,带行和列标题的DataGrid

时间:2011-05-04 21:26:33

标签: c# .net wpf c#-4.0 wpfdatagrid

我想要一个带行和列标题的DataGrid。以下是我的数据结构:

public class PointInfo
{
    public Tuple<int, int> Coordinate { get; set; }

    public int DataAtPoint { get; set; }

    private PointInfo(){}

    public PointInfo(int rowIndex, int columnIndex)
    {
        Coordinate = Tuple.Create(rowIndex, columnIndex);
    }
}

我想创建一个DataGrid并将列标题分配给columnIndex并将行标题分配给rowIndex。我猜这是可能的。我看过this question。它非常接近解决问题。

DataGrid的数据将来自PointInfo个对象的列表。它基本上就像一场战斗

谢谢!

1 个答案:

答案 0 :(得分:1)

对你的问题不是一个完整的答案,但WPF DataGrid并不擅长使用可变数量的列。

您可以做的是动态创建一个匿名类型(例如http://jacobcarpenter.wordpress.com/2008/03/13/dictionary-to-anonymous-type/),然后启用自动生成列,以便通过反射执行此操作,否则您必须在代码中定义列

另请注意,绑定列标题(而不是直接设置它)可能会变得毛茸茸,因为DataGrid列不会继承父级的DataContext,但这里有一个解决方法:http://blogs.infragistics.com/blogs/josh_smith/archive/2008/06/26/data-binding-the-isvisible-property-of-contextualtabgroup.aspx