开发者

lock a scrollviewer in place

开发者 https://www.devze.com 2023-02-28 03:00 出处:网络
I have an inkpresenter inside a scrollviewer for a Windows Phone 7 application.Often when the user starts to draw, the scrollviewer takes over mid stroke, making it hard to actually draw stuff.I tried

I have an inkpresenter inside a scrollviewer for a Windows Phone 7 application. Often when the user starts to draw, the scrollviewer takes over mid stroke, making it hard to actually draw stuff. I tried disabling the ScrollBarVisibility when the inkpresenter needs to be used, but then the scroll viewer automatically pans back up to the top. So how can I prevent the scrollviewer from scrolling when the inkpresenter is in use, while still maintaining the scroll position?

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

Edit:

So I tried using the scrolling function in the codebehind to update the vertical offset, where I have a button linked to the following code开发者_如何学Python:

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

Again, it just goes back up to the top. Any idea whats wrong?


After disabling the VerticalScrollBarVisibility call Scrollviewer.ScrollToVerticalOffset to manually bring the InkPresenter into view.

0

精彩评论

暂无评论...
验证码 换一张
取 消