我想要一个带行和列标题的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
个对象的列表。它基本上就像一场战斗
谢谢!
答案 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。