【问题标题】:WPF color matrixWPF 颜色矩阵
【发布时间】:2015-10-10 12:54:18
【问题描述】:

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

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

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

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

提前致谢!

【问题讨论】:

    标签: c# wpf gridview matrix grid


    【解决方案1】:

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

    <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 接口,并且应该以逐列、逐行的顺序生成项目。

    【讨论】:

      猜你喜欢
      • 2010-10-21
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      相关资源
      最近更新 更多