2011-04-01 91 views
1

我有一个应用程序在ScrollViewer中显示包含文本的页面,该页面占用固定高度。我将Horizo​​ntalScrollBarVisibility设置为Disabled,并将VerticalScrollBarVisibility设置为Auto。WP7 ScrollViewer在Windows Phone上的回滚和自动滚动条可见性问题

我遇到的可用性问题如下: 尽管设置为自动,但如果内容小于ScrollViewer,内容仍然可以上下滚动,滚动结束或隐藏一部分的文字。我希望ScrollViewer在整个内容适合其范围内时不允许滚动。至少应该在过卷时将内容捕捉到视图中。其次,当内容滚动时,它有时会被卡住,并且不会从过卷滚动“回弹”。例如,如果内容完全适合ScrollViewer,并且在文本上向上或向下拖动手指,则文本将被ScrollViewer的顶部或底部遮挡,并且不会反弹。但是,如果您从ScrollViewer的内容之外开始向上拖动手指,则当您滚动到任一端时,它会反弹回来。无论您是在内容上拖动还是在内容外拖动,我都希望发生“快退”行为。那可能吗?

回答

2

第一个问题:如果您的内容不足以保证需要滚动查看器,请不要将它放在一个。如果内容大小发生变化,则仅在内容量允许时才启用滚动条。

您能否提供一种重现第二个问题的方法。

+0

我现在正在使用第二个建议的一种形式 - 即当内容太小而不需要滚动时,将VerticalScrollBarVisibility设置为Disabled。但是,第二个问题依然存在。对于简单的控件,它并不“粘”出来,比如TextBrack打开了TextWrapping,但当内容是来自Silverlight Toolkit for WP7的WrapPanel时,它确实坚持。我确定WrapPanel的VerticalAlignment设置为“Top”而不是“Stretch”,所以我知道它并没有将空白空间视为“内容”。 – 2011-04-01 18:54:24

+0

啊哈!它看起来像scrollviewer的内容中的一些控件订阅ManipulatingCompleted RoutedEvents并设置e.Handled = true,这意味着ScrollViewer没有得到它们。 – 2011-04-01 19:10:50