我正在编写一个附加行为来复制跨两个具有不同数据源的XamPivotGrid
的列和行扩展。
该行为有效,但在除最外层以外的任何层次结构级别上,所有行都同时展开。我想过滤我的查询标题行,只得到一个标题与相同的父。问题就在这里:
初始枢轴网格有四个度量、一行和一列。默认情况下只选择一个度量。要创建层次结构,我(使用XamPivotDataSelector
控件)将列也拖动为行,从而使度量也充当列。虽然这看起来是pivot网格上的一个层次结构,但实际上一个仍然是网格的rowheader之一,另一个是ColumnHeader -它们没有共享关系,我可以访问。
在网上搜索后,我没有找到任何关于如何访问任何可以用来识别特定标头的信息。我意识到这个问题可能需要足够深入的XamPivotGrid
控制知识,我可能永远不会得到答案,所以我将继续研究网格,希望我可能能够自己回答这个问题。
感谢您的宝贵时间。
更新:我发现列确实变成了行,而不是列,所以至少这更有意义,但它们只是在一个列表中,而不是按层次排列。
事实证明,当存在层次结构时,行/列结构实际上模拟了树。因为我没有将列表转换为树的经验,而且因为我处理的两个网格总是具有相同的行和列,所以我能够做一些不同的事情。
本质上,保证grid.GridLayout.RowHeaderCells
项在所有网格中具有相同的索引。我不需要处理树,只需要一个索引。
实际上,这个解决方案在我的情况下没有帮助,因为虽然行和列保持不变,但它们可能被隐藏了。相反,我发现我能够使用PivotHeaderCell.Member.Tuple.ToString()
可靠地生成我在我的问题中搜索的"路径",所以现在一切都更好了。