https://learn.microsoft.com/en-us/answers/questions/537119/how-to-freeze-grid-column-in-scrollviewer-or-achie
.这导致了我当前的结构:
<Scrollviewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible">
<Grid>
<!-- Here is the left Header
</Grid>
<Scrollviewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<Grid>
<!-- Rest of the table -->
</Grid>
</Scrollviewer>
</Scrollviewer>
nove似乎仅用于仅在一个dircetion中滚动的应用。但是就我而言,这种方法有两个问题。
水平卷轴未固定在页面底部。如果您想查看栏,则必须先滚动到底部。
<Scrollviewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible">
<Grid>
<Grid>
<!-- Here is the left Header -->
</Grid>
<Scrollviewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<Grid>
<!-- Rest of the table -->
</Grid>
</Scrollviewer>
</Grid>
</Scrollviewer>
绿色是横向滚动条,垂直蓝色。两者都应始终可见。目前,我只会看到绿色的,如果我一直向下划掉。 标题(RWO X,X列)需要始终可见。同时,它们还必须包含在滚动条中。因此,左边总是可见10行,但是如果我scrolldown,我会看到12-22。
要让您入门,我的想法有点玩耍,它奏效了,但我只为水平而做到了。您需要3ScrollBar
(对于左/顶部和内容)和2
ScrollViewer
重要的部分如何使用单个
ScrollBar
在许多s中滚动内容。我采用了“附加行为”解决方案。
XAML:ScrollBar
demo:
Behavior:ScrollViewer
todo:类似地添加垂直滚动条,修复错误。