listbox使用了自定义的wrappanel,panel的宽度= window当前宽度-滚动条宽度
随着window的size变小,结果右侧滚动条消失
原因:
listbox所在的datagrid的columndefinitions使用了定宽的列,如下:
<Grid.ColumnDefinitions> <ColumnDefinition Width="50"/> <ColumnDefinition Width="150"/> <ColumnDefinition Width="60"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <ListBox Grid.ColumnSpan="4"/>
所以当window缩小到(50+150+60)260的时候,会发现listbox不再随window缩小,导致右侧滚动条逐渐消失。
解决办法:
1. 不用定宽的列
2. 不要把Listbox放在一个Grid里
虽然只是个小坑,但是记录下来以防后面忘记。