我有一个定义为下面的滚动查看器:

<ScrollViewer Name="svMain" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled" VerticalScrollMode="Disabled">


当我在后面的代码中更改属性Horizo​​ntalScrollBarVisibility时:

svMain.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled;


scrollviewer滚动到水平偏移量0。

如何防止这种情况,并保持scrollviewer的水平偏移与更改前一样?

最佳答案

完全未经测试,但也许可以为您指明正确的方向。

public double offset = 0.0;


在禁用滚动条之前保存偏移量:

offset = svMain.HorizontalOffset;
svMain.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled;


禁用后,将偏移值添加回滚动条

svMain.ChangeView(offset, null, null, false);

08-08 01:51