2011-04-21 46 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放入視圖。