2016-05-16 57 views
0

我試圖創建一個簡單的日誌可視化工具,所以我做了以下內容:的ScrollViewer顯示兩個渦旋

<ScrollViewer> 
      <TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" 
        ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
        ScrollViewer.VerticalScrollBarVisibility="Auto" 
        ScrollViewer.CanContentScroll="True" 
        /> 
</ScrollViewer> 

的ScrollViewer中是一個分組框裏面,我可以正確地管理它後面的代碼,但問題的我已經這個UI結果:

enter image description here

Howyou可以看到我有一個內部滾輪(即工作)和外部滾動,那就是ScrollViewer中。

這很奇怪,wpf不會自動帶一個滾動條?我怎樣才能隱藏外部滾動,或者無論如何,只顯示一個滾動控制器?

謝謝。

+1

爲什麼不跳過 Paparazzi

回答

2

兩個渦旋是可見的,如果有一個固定的Height

太多Text嘗試設置高度爲的ScrollViewer

<ScrollViewer Height="240"> 
<TextBox TextWrapping="Wrap" AcceptsReturn="True" IsReadOnly="True" 
     HorizontalScrollBarVisibility="Disabled" 
     VerticalScrollBarVisibility="Auto" 
     ScrollViewer.CanContentScroll="True"/> 
</ScrollViewer> 

或刪除的ScrollViewer完全

<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" 
     HorizontalScrollBarVisibility="Disabled" 
     VerticalScrollBarVisibility="Auto" 
     ScrollViewer.CanContentScroll="True"/> 
0

的問題是,你在多行TextBox的外部使用ScrollViewerScrollViewer旨在包含一堆UI元素,否則會佔用一堆空間。我可以做的最好的比較是一個網頁。瀏覽器充當ScrollViewer,網頁是內容。

如果您只需要TextBox,則不需要ScrollViewer。但是,如果你想使用ScrollViewer,這不會需要時擺脫滾動條:

 <ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" CanContentScroll="True"> 
      <TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" VerticalScrollBarVisibility="Auto" /> 
     </ScrollViewer>