web-dev-qa-db-ja.com

高さが自動に設定されている場合、WPF ListViewにはスクロールバーがありません

こんにちは、コレクションにバインドするListViewがあります。 ListViewの高さをautoに設定して、リージョン内のすべてのスペースを占めます。ただし、高さを自動に設定した後はスクロールバーがありません。高さを指定すると、スクロールバーが表示されます。

マークアップは次のようなものです

<Grid>
   <StackPanel>
      <Expander>
          <DataGrid>
      <Expander>
          <ListView>
23
Eatdoku

ListViewがパネル内にあり、垂直方向に無制限に拡張できるのではないかと思います。

たとえば、ListViewStackPanelの内側に配置すると、ListViewの高さがStackPanelの高さを超える可能性があります。 ListViewは高さが増加し、関連するすべてのアイテムが表示されるようになりました。したがって、スクロールバーはありません。

ただし、そのStackPanelGridに変更すると、コントロールが自動的にその領域内に収まるようになり、ListViewにスクロールバーが自動的に追加されます。表示できます。

これはおそらく、ListViewを含むレイアウトを調整することで最も簡単に解決できます。

57
Joel B Fant

設定する代わりに

<RowDefinition Height="auto"/>

セットする:

<RowDefinition Height="1*"/>
9
Sandeep

スクロールするものが何もない場合、スクロールバーを表示する必要があるのはなぜですか?

デフォルトの動作を上書きしたい場合は、ScrollViewer.VerticalScrollBarVisibility="Visible"をListBoxに追加します。

4
H.B.