WPF颜色矩阵

本文关键字:色矩 颜色 WPF | 更新日期: 2023-09-27 18:17:07

我创建了一个名为matrix (matrix [,] matrix;)的类,其中有I和j属性,它们指向相应的行和列。

例如,假设[1,6]单元格包含数字6(内容并不重要,因为它是一个示例),或者我想用红色表示它,因为6大于5。

我想知道的是在网格(Grid, Datagrid,…)中表示这个矩阵的最好和最简单的方法是什么,例如将这个网格的[1,6]元素更改为红色,将其显示为原始矩阵。这是我的一个例子,但它不起作用,实际上它甚至没有创建一个Grid:

System.Data.DataTable dt = new System.Data.DataTable();
...loop for dt...
dt.Columns.Add();
dt.Rows.Add();
datagrid1.DataSource = dt;

提前感谢!

WPF颜色矩阵

这只是众多可能的解决方案之一:

<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>
然后,

U可以通过修改项模板来更改单个单元格的外观。唯一的先决条件是您的Matrix类应该实现IEnumerable接口,并且应该以一列接一列、一行接一行的顺序生成项。