代码之家  ›  专栏  ›  技术社区  ›  Fyodor Soikin

网格与“解耦”滚动(又名“冻结”行和列)

  •  1
  • Fyodor Soikin  · 技术社区  · 14 年前

    大致来说,这就是我想要达到的目标:

    illustration http://namefa.mine.nu/alignmentproblem.png



    蓝色部分的单元格也是可编辑的。
    这个 [add fridge]

    现在是棘手的部分:
    蓝色+绿色部分应该可以一起垂直滚动。
    蓝色+橙色部分应该可以水平滚动。
    (暗红色表示滚动条)

    我们可以看到这背后的逻辑:我必须能够编辑任何(合理)数量的冰箱和产品的产品数量,即使它们不都适合在屏幕上。但我决不能滚动冰箱名称或产品名称的视线之外。

    我只想在XAML中完成这个布局,带有绑定(一个 ObservableCollection<Fridge>

    我以前的想法和实验中的一些考虑:

    1. Grid

    2. ItemsControl s可以工作,但随后我遇到了将不同序列的项目对齐的问题(即蓝色单元格与橙色或绿色单元格-取决于嵌套的方向)-请参阅我的 other question .

    3. 调整冰箱列大小的加分。到目前为止我只找到了 GridSplitter ,但它只适用于网格。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Fyodor Soikin    12 年前

    回答我自己的问题只是为了让我能接受它:这被称为“冻结列”和“冻结行”,不,没有开箱即用的行的情况。