代码之家  ›  专栏  ›  技术社区  ›  Phillip Ngan

Silverlight DataGrid同步滚动

  •  0
  • Phillip Ngan  · 技术社区  · 15 年前

    我有两个Silverlight(2或3)数据报(来自2009年7月的Silverlight工具包),一个位于另一个之上。顶部数据报保存值,底部数据报保存摘要值(例如合计)。我希望在用户更改列标题宽度、列顺序以及用户水平滚动时,它们各自的列始终保持对齐。怎么能做到?

    我使用两个数据报,因为我希望在用户垂直滚动顶部数据报的内容时,下部数据报中的总值始终可见。

    我尝试使用getVisualDescendants()访问DataGrid的水平滚动条,但这不会返回任何元素。怎么能做到?我猜这是可以做到的,因为SilverlightSpy显示了视觉层次结构。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Bryant    15 年前

    我建议你把它们都放在一个网格内,宽度设置为网格的宽度。然后把这个网格放到滚动查看器中。然后在底部有一个滚动条,可以滚动两个网格。

    如果您真的想要两个滚动条,那么使用上面的方法,但将它们都放在滚动查看器中并附加到onscroll事件。然后,可以使用该事件中的值以编程方式滚动另一个滚动查看器。