我想知道是否有人可以帮助我指出如何将WPF DataGrid绑定到设计结构矩阵(DSM)。如图1所示,DSM包括行标题和列标题,它们具有相同的条目,并且顺序相同。我想用两个文本框使“表/矩阵/网格”的单元格可单击,以输入有关交点的信息(行和列)。
这就是我所做的。
细胞类:
public class Cell
{
public CellPosition Position { get; set; }
public Collection<Entry> Entries { get; set; }
public Collection<Rule> Rules { get; set; }
}
这是主窗口
public MainWindow()
{
InitializeComponent();
var irule = new Rule(1.ToString(), "Informal", "Some informal Rule", "All Chamfers are equal");
var frule = new Rule(2.ToString(), "Formal", "Some formal Rule", "chamfer.equal(all)");
var pos11 = new CellPosition(1.ToString(), 1.ToString());
var pos21 = new CellPosition(2.ToString(), 1.ToString());
var entry = new Entry("TableTop", "TableTop", "Test Case TableTop");
var entry1 = new Entry("TableFoot1", "TableFoot1", "The Foot of the table");
var entry2 = new Entry("TableFoot2", "TableFoot2", "Test Case TableFoot");
var entries = new List<Entry>();
entries.Add(entry);
entries.Add(entry1);
entries.Add(entry2);
var dsm = new DSM(entries);
foreach (var cell in dsm.Cells)
{
dsm.AddRuleToCell(cell, irule);
dsm.AddRuleToCell(cell, frule);
}
var kafaSession = new Session();
kafaSession.SaveModel(dsm, "C:\\OwnStuff\\TestFiles\\Results\\output.xml");
Console.WriteLine("Done!");
Console.ReadLine();
KafaGrid.ItemsSource = dsm.Cells;
}
输出:DataGrid
Binding DataGrid to Design Structure Matrix
我也研究了DataTables,但是我不知道如何将Column-Head和Row-Head定义为相同...