我有一个定义为下面的滚动查看器:
<ScrollViewer Name="svMain" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled" VerticalScrollMode="Disabled">
当我在后面的代码中更改属性HorizontalScrollBarVisibility时:
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);