wpf 滚动效果问题
是这样的我要做一个滚动效果的东西效果是这样的我托一张图片进去他显示当他宽读不够的时候以前的图片就跑左边去了看不见了看不见滚动条但是你可以用手拖动查看以前的图片大概就是这样...
是这样的我要做一个滚动效果的东西
效果是这样的 我托一张图片进去他显示
当他宽读不够的时候以前的图片就跑左边去了看不见了 看不见滚动条
但是你可以用手拖动查看以前的图片
大概就是这样了
那位大虾帮帮忙啊 展开
效果是这样的 我托一张图片进去他显示
当他宽读不够的时候以前的图片就跑左边去了看不见了 看不见滚动条
但是你可以用手拖动查看以前的图片
大概就是这样了
那位大虾帮帮忙啊 展开
展开全部
放一个ScrollViewer,里面放一个Image,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();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询