如何使WPF scrollviewer更流畅

时间:2014-11-17 12:18:27

标签: wpf

我正在使用这样的滚动查看器:

<ScrollViewer PanningMode="Both" >
    <TextBlock FontSize="15" TextWrapping="Wrap">         
       (a block of random text)
    </TextBlock>
</ScrollViewer>

我正在使用带有触摸屏的非常不错的新笔记本电脑但是如果我轻弹文字,那么机芯就不好了,它是生涩的。如果我使用触摸/轻弹等任何Windows 8应用程序,则运动如丝般顺滑。

这是WPF的问题吗?有没有办法顺利滚动?

由于

1 个答案:

答案 0 :(得分:1)

确保ScrollViewer.CanContentScroll设置为false

<ScrollViewer PanningMode="Both" CanContentScroll=false>
    <TextBlock FontSize="15" TextWrapping="Wrap">         
       (a block of random text)
    </TextBlock>
</ScrollViewer>
  

物理滚动与逻辑滚动

     

物理滚动用于按预定方式滚动内容   物理增量,通常是以像素为单位声明的值。   逻辑滚动用于滚动到逻辑中的下一个项目   树。物理滚动是大多数Panel的默认滚动行为   元素。 WPF支持两种类型的滚动。

     

http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.cancontentscroll%28v=vs.110%29.aspx

或者,你可以试试这个家伙:

  

SurfaceScrollViewer类

     

用户可以通过弹出SurfaceScrollViewer控件的内容   触摸控制器,快速移动手指短距离,   然后举起他们的手指。当他们的手指被抬起时,   SurfaceScrollViewer控件的内容继续移动。该   内容然后减速并停止。您可以以编程方式   通过调用StopFlick方法停止由轻弹引起的移动。

     

您可以通过操作SurfaceScrollViewer的内容   移动滚动条(与WPF SurfaceScrollViewer一样)或通过   直接触摸与内容本身的互动。的能力   直接操纵内容称为平移。默认情况下,平移   已启用。您可以通过设置IsManipulationEnabled来禁用它   财产到假。

     

http://msdn.microsoft.com/en-us/library/microsoft.surface.presentation.controls.surfacescrollviewer.aspx