2011-04-21 40 views
0

我在Windows Phone 7应用程序的滚动查看器中有一个inkpresenter。通常当用户开始绘画时,滚动查看器会接管中等中风,使得很难真正绘制东西。我试着在需要使用inkpresenter时禁用ScrollBarVisibility,但随后滚动查看器自动回到顶端。那么如何防止滚动查看器在使用时滚动查看器,同时仍然保持滚动位置?将滚动查看器锁定到位

<ScrollViewer Name="ScrollBars" VerticalScrollBarVisibility="{Binding ScrollEnabled}" > 
    <Canvas Height="2000"> 
     ... 
     <InkPresenter Name="InkCanvas" Strokes="{Binding Strokes}" Canvas.Top="500" /> 
    </ Canvas > 
</ScrollViewer > 

编辑:

所以我尝试使用滚动功能的代码隐藏更新垂直偏移,在那里我有一个链接到下面的代码按钮:

var offset = scrollViewer.VerticalOffset; 
ScrollEnabled = ScrollBarVisibility.Disabled; 
scrollViewer.ScrollToVerticalOffset(offset); 

再一次,它只是回到顶端。任何想法什么是错的?

+0

您是否验证过“offset”变量的值不是零? – Praetorian 2011-04-21 20:19:18

+0

我检查调试器中的偏移量,它是一个非零数字。当scrollvarvisibility被禁用时,可以调用“ScrollToVerticalOffset”吗? – tbischel 2011-04-21 20:42:36

+0

我认为这可能是,但也许我错了。对不起,我的回答没有奏效。 – Praetorian 2011-04-21 20:47:30

回答

1

禁用VerticalScrollBarVisibility请致电Scrollviewer.ScrollToVerticalOffset手动将InkPresenter放入视图。