Freigeben über


实践Windows触摸应用程序开发1:WPF 4 触摸应用案例

在Windows 7上基于WPF 4.0写触摸应用别以以前容易很多。做了一个例子,供大家参考。

案例程序将指定目录中的图片读入到StackPanel里现实,再把StackPanel放置到ScrollViewer中。

ScrollViewer直接支持Panning(平面拖动)操作,只要将设置PanningMode属性即可。

例如:this.scrollViewer_MainPanel.PanningMode = PanningMode.HorizontalOnly;

ScrollViewer中的内容滚动到边界是还会自动出发Window Bounce(窗体弹跳),以叫做Panning Feedback(拖动回馈)。

ScollViewer滚动时默认以像素为单元,滚动起来看上去是连贯的,如果以被滚动内容为单元,可以设置ScrollViewer的CanContentScroll属性为true,滚动是会对齐内容的开始位置,看上去滚动是跳动的。

例如:this.scrollViewer_MainPanel.CanContentScroll = true;

视频中,点击CheckBox就是切换CanContentScroll属性。CanContentScroll属性开启前,图片是连续滚动的,而开启后图片滚动会直接跳动的每张图片的开始处。

提示1:ScrollViewer向滚动默认是禁用的,如果需要支持横向滚动,需要ScrollBarVisibility设置为除Disable以外其他的选项。

提示2:拖动Scrollviewer默认是有惯性的,ScrollViewer的PanningDeceleration属性是用于设置惯性运动的减速率的,默认值0.001,表现为很自然的惯性运动。案例中把这个属性设置为1,减速很快,就感觉不到惯性了。

案例代码下载:https://cid-98176e5239e26c68.office-df.live.com/self.aspx/Blog%20Downloads/Touch%20and%20Mobility%20Sample%201.zip

案例代码下载(更新):Download

Comments

  • Anonymous
    September 05, 2010
    你好,案例不能下载,请更新一下,谢谢! 为什么我CanContentScroll =false就不能拖动了?

  • Anonymous
    October 12, 2010
    你好,您的案例我下载不了,点击连接后是windows live ,我的QQ1649397445,如果您方便希望能直接从您那里得到案例。多谢了。

  • Anonymous
    November 05, 2010
    案例下载不了啊  麻烦您发到我邮箱好吗 woiyun@126.com 谢谢 给我发QQ也行376519858

  • Anonymous
    November 05, 2010
    案例下载不了啊  麻烦您发到我邮箱好吗 woiyun@126.com 谢谢 给我发QQ也行376519858

  • Anonymous
    November 03, 2011
    案例下载不了啊  麻烦您发到我邮箱好吗 466394387@qq.com