WPF listbox 橫向滾動條 最後一屏的最後一行顯示不全

問題:WPF listbox 橫向滾動條 最後一屏的最後一行顯示不全
代碼以下:
code

<ListBox
     Width="200"
     Height="200"
     FontSize="18"
     >
     <ListBoxItem>item1</ListBoxItem>
     <ListBoxItem>item2</ListBoxItem>
     <!-----item3,4...13------->
     <ListBoxItem>item14</ListBoxItem>
     <ListBoxItem>item15=================</ListBoxItem>
     <ListBoxItem>item16</ListBoxItem>
     <!-----item17,18...21------->
     <ListBoxItem>item22</ListBoxItem>
 </ListBox>

現象:listbox中items數量足以使其顯示豎向滾動條,
最後一屏的第一個item(上面的item15===)長度過長使listbox顯示橫向滾動條。
解決:
在listbox加入如下:
ScrollViewer.CanContentScroll="False"
或另橫向滾動條一直顯示
ScrollViewer.HorizontalScrollBarVisibility="Visible"

分析:
默認ScrollViewer.CanContentScroll="True"時,點擊listbox豎向滾動條向下滾動時每次滾動一個item的高度,
此時到最後一屏的時候,因爲出現橫向滾動條,擋住了最後一行。
ScrollViewer.CanContentScroll="False"的時候,向下滾動時是連續的,listbox能夠滾動到最底部。就不存在上面的問題。


ScrollViewer.HorizontalScrollBarVisibility="Visible",因爲它一直顯示,就不存在佔據listbox高度的問題。
xml

相關文章
相關標籤/搜索