WPF中ScrollViewer 的问题。
我用代码把ScrollViewer的Thumb的高度改成固定的了,但是出现的效果就是滑块开始位置没有在最顶上,而是离顶上有段距离,而且也滑不到最下边,离最下边还有段距离就...
我用代码把ScrollViewer的Thumb的高度改成固定的了,但是出现的效果就是滑块开始位置没有在最顶上,而是离顶上有段距离,而且也滑不到最下边,离最下边还有段距离就不动了,请问怎样才能设置滑块的起始和结束位置,滑块的位置呢?
展开
2个回答
展开全部
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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询