次のようにWPF UIを配置しようとしています:
- ウィンドウの上部には、自己決定する高さのコントロールがあります (ウィンドウの上部に効果的にドッキングされますが、必要な高さになります)。
- これらのコントロールの下には ListView があります。ListView には、それぞれ高さが異なるさまざまな数の項目を含めることができます。問題: ListView は、必要以上に高くしてはいけません。リスト ビュー内のすべてのアイテムがウィンドウに簡単に収まる場合は、ListViewの高さがすべてのアイテムを表示する正確な高さになるようにします(したがって、ウィンドウは、下部に空白スペースがある Web ページのフロー レイアウトのように見えます)。一方、すべての ListView アイテムがウィンドウに収まらない場合は、UI 全体がウィンドウに収まるようにします(下の 3 番がウィンドウの下部にドッキングされ、ListView が使用可能なスペースを埋めているかのように)。 . ユーザーがウィンドウのサイズを変更したり、リストビューの内容を変更するボタンを押したりすると、これはすべて動的に調整する必要があります。
- ListView の下には、自己決定型の高さのコントロールがいくつかあります。これらは、常に ListView のすぐ下に隙間なく表示される必要があります。特に、ListView のすぐ下に収まる場合は、ウィンドウの下部にドッキングするだけではいけません。
解決策は大歓迎です。私はしばらくいじって、最初のコントロールが上部にドッキングされたウィンドウで外側の DockPanel を使用し、ListView が残りのスペースを埋めるが、VerticalAlignment="上"。
純粋な XAML ソリューションが理想的ですが、コード ビハインドが避けられない場合は気にしません。このような複数の配置を垂直に積み重ねることができるソリューションのボーナスポイント:) 助けてくれてありがとう!