WPF颜色矩阵

时间:2015-10-10 12:54:18

标签: c# wpf gridview matrix grid

我创建了一个名为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;

提前致谢!

1 个答案:

答案 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接口,并且应该逐行,逐行地生成项目。