我创建了一个名为matrix(Matrix [,] matrix;)的类,我有i和j属性,它们引用相应的行和列。
比方说,例如,[1,6]单元格包含数字6(内容并不重要,因为它是一个例子),或者我想用红色表示它,因为6大于5.
我想知道什么是在网格(网格,数据网格......)中表示此矩阵的最佳和最简单的方法,例如将此网格的[1,6]元素更改为红色,将其显示为原始矩阵。这是我的一个例子,但它不起作用,事实上它甚至没有创建一个Grid:
System.Data.DataTable dt = new System.Data.DataTable();
...loop for dt...
dt.Columns.Add();
dt.Rows.Add();
datagrid1.DataSource = dt;
提前致谢!
答案 0 :(得分:0)
这只是众多可能的解决方案之一:
<ItemsControl ItemsSource="{Binding SomeMatrix}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" Columns="{Binding SomeMatrix.Columns}" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Label Content="{Binding}" HorizontalContentAlignment="Center" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
然后,您可以通过修改项目模板来更改单个单元格的外观。唯一的先决条件是您的Matrix
类应该实现IEnumerable
接口,并且应该逐行,逐行地生成项目。