【问题标题】:UWP - Matrix With GridUWP - 带网格的矩阵
【发布时间】:2021-08-19 04:20:30
【问题描述】:

首先我想说的是,我对 UWP 还很陌生,我对 Android 的体验可能会导致我的一些假设。对此可能有更好的方法,但到目前为止,我一直在尝试使用 Grid 类,但它似乎并没有以我期望的方式工作。

基本思路

我正在尝试创建一个 UWP 应用程序,该应用程序能够在矩阵中组织元素,其中每一行和每一列都代表某个类别,并且在行和列类别中的任何元素都放置在该单元格中。每个矩阵坐标中可以列出一个或多个元素。参考图片如下:

为了给出一个更清晰/具体的例子,假设元素是员工,行是团队,列是学科(测试、开发、管理)

比较不同的类别类型对于显示信息很有用,但这将比名称更重要,因此这只是一个简化的示例。此外,如示例中所示,行数和列数分别由每个类别的数量决定(例如 # 行 = # 团队和 # 列 = # 学科)。

我没有任何代码要显示,只是因为这不是一个错误问题,而是一个概念问题。

我的问题

  • 如何通过行/列过滤哪些元素绑定到单元格?这甚至可能吗?
    • 即用同时占据相应行和列类别的元素填充矩阵的单元格。
  • 如何将列和行绑定到它们各自的类别列表?
    • 例如每当我添加另一个列类别时,都会生成一个新的空列。

感谢您的帮助和时间!

【问题讨论】:

    标签: c# user-interface data-binding uwp


    【解决方案1】:

    对于您的场景,更好的方法是使用DataGrid 替换。

    即用同时占据相应行和列类别的元素填充矩阵的单元格。

    您可以使用绑定方式绑定到当前特定的元素在哪一列和哪一行,但是在为Grid面板准备数据源之前需要计算一下。

    每当我添加另一个列类别时,都会生成一个新的空列。

    如果您使用DataGrid,它将基于您项目的新归档generate Column。这是您可以参考的代码sample

    【讨论】:

    • 唯一的问题是 DataGrids 似乎不允许命名行。我的意思是,与列类似,行需要标题(例如在我的示例中,“团队 A”是第一行的名称。)谢谢您的回复。编辑:(“标题”是行或列所代表的类别。)
    • 对于这种情况,您可以为项目添加标题字段,并为其赋予值团队 A 团队 B... 然后第一行将显示每个项目的标题与团队 A 团队 B ..跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多