2011-04-01 92 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