WPF listbox 横向滚动条 最后一屏的最后一行显示不全

原文: WPF listbox 横向滚动条 最后一屏的最后一行显示不全

为什么80%的码农都做不了架构师?>>>   hot3.png

问题:WPF listbox 横向滚动条 最后一屏的最后一行显示不全
代码如下:


   
   
  1. <ListBox
  2.       Width= "200"
  3.       Height= "200"
  4.       FontSize= "18"
  5.      >
  6.       <ListBoxItem>item1 </ListBoxItem>
  7.       <ListBoxItem>item2 </ListBoxItem>
  8.       <!-----item3,4...13------->
  9.       <ListBoxItem>item14 </ListBoxItem>
  10.       <ListBoxItem>item15================= </ListBoxItem>
  11.       <ListBoxItem>item16 </ListBoxItem>
  12.       <!-----item17,18...21------->
  13.       <ListBoxItem>item22 </ListBoxItem>
  14.   </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高度的问题。

转载于:https://my.oschina.net/xhan/blog/24443

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/12387741.html
今日推荐