WPF中ScrollViewer 的问题。

我用代码把ScrollViewer的Thumb的高度改成固定的了,但是出现的效果就是滑块开始位置没有在最顶上,而是离顶上有段距离,而且也滑不到最下边,离最下边还有段距离就... 我用代码把ScrollViewer的Thumb的高度改成固定的了,但是出现的效果就是滑块开始位置没有在最顶上,而是离顶上有段距离,而且也滑不到最下边,离最下边还有段距离就不动了,请问怎样才能设置滑块的起始和结束位置,滑块的位置呢? 展开
 我来答
RayNCC
2011-03-03 · TA获得超过615个赞
知道小有建树答主
回答量:452
采纳率:0%
帮助的人:604万
展开全部
不要改ScrollViewer的样式,调用方法:
public void ScrollToHorizontalOffset(double offset);
或者
public void ScrollToVerticalOffset(double offset);
方法来设置滑块的位置。
其实ScrollViewer有一堆形如
ScrollToXXXX的方法,你可以都看一下
手机用户73827
2011-03-03 · 超过14用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:48.7万
展开全部
ge,Image用于呈现你的图片。
ScrollViewer的横向和纵向滚动条都设置成Disabled,即不可见。
监听ScrollViewer的PreviewMouseMove事件和PreviewMouseLeftButtonUp事件

在PreviewMouseMove事件的处理方法中,判断如果鼠标的左键被按下,则

1、将鼠标lock在这个ScrollViewer中,即调用CaptureMouse。假设这个ScrollViewer名字为ImageViewer
if(!this.ImageViewer.IsMouseCaptured)
{
this.ImageViewer.CaptureMouse();
}
这一步很重要,这样鼠标的事件都会发送这个ScrollViewer,防止鼠标在拖动过程中移出ScrollViewer后无法监听到鼠标事件
2、根据鼠标移动的距离,调用ScrollViewer的API,滚动其内容

在PreviewMouseLeftButtonUp事件的处理方法中,接触鼠标的捕获,即
if(this.ImageViewer.IsMouseCaptured)
{
this.ImageViewer.ReleaseMouseCapture();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式