如果高度设置为auto,WPF ListView没有滚动条

Eat*_*oku 23 wpf layout listview scrollbar

嗨,我有一个绑定到集合的ListView.我将ListView的高度设置为auto,以便占用该区域中的所有空间.但是,在将高度设置为auto后,没有滚动条.如果我给它一个高度,那么滚动条就会显示出来.

标记非常类似于以下内容

<Grid>
   <StackPanel>
      <Expander>
          <DataGrid>
      <Expander>
          <ListView>
Run Code Online (Sandbox Code Playgroud)

Joe*_*ant 56

我有一种预感,你ListView在一个面板内,允许它无限制地垂直扩展.

例如,如果你在ListView里面放一个StackPanel,那么它ListView的高度就可以超过了它的高度StackPanel.在ListView增加了它的高度,以显示其所有项目,就我们关心的,因此没有滚动条.

但是,如果您将其更改StackPanel为a Grid,控件会自动尝试将其自身调整到该区域内,ListView当它包含的项目超出其显示范围时,将自动拥有滚动条.

这可能最简单地通过调整包含的布局来解决ListView.


小智 9

而不是设置

<RowDefinition Height="auto"/>
Run Code Online (Sandbox Code Playgroud)

组:

<RowDefinition Height="1*"/>
Run Code Online (Sandbox Code Playgroud)