こんにちは、コレクションにバインドするListViewがあります。 ListViewの高さをautoに設定して、リージョン内のすべてのスペースを占めます。ただし、高さを自動に設定した後はスクロールバーがありません。高さを指定すると、スクロールバーが表示されます。
マークアップは次のようなものです
<Grid>
<StackPanel>
<Expander>
<DataGrid>
<Expander>
<ListView>
ListView
がパネル内にあり、垂直方向に無制限に拡張できるのではないかと思います。
たとえば、ListView
をStackPanel
の内側に配置すると、ListView
の高さがStackPanel
の高さを超える可能性があります。 ListView
は高さが増加し、関連するすべてのアイテムが表示されるようになりました。したがって、スクロールバーはありません。
ただし、そのStackPanel
をGrid
に変更すると、コントロールが自動的にその領域内に収まるようになり、ListView
にスクロールバーが自動的に追加されます。表示できます。
これはおそらく、ListView
を含むレイアウトを調整することで最も簡単に解決できます。
設定する代わりに
<RowDefinition Height="auto"/>
セットする:
<RowDefinition Height="1*"/>
スクロールするものが何もない場合、スクロールバーを表示する必要があるのはなぜですか?
デフォルトの動作を上書きしたい場合は、ScrollViewer.VerticalScrollBarVisibility="Visible"
をListBoxに追加します。