この質問は簡潔に説明するのが難しいので、我慢してください。
現在、2行のグリッドがあります。1 行目の高さは Auto、2 行目の高さは * なので、ウィンドウのサイズを変更すると、2 行目はウィンドウに合わせて拡大縮小します。
これは基本的なレイアウトです:
<Window>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border>
...
</Border>
<Border Grid.Row="2">
...
</Border>
</Grid>
</Window>
これは、既存の動作の貧弱なスケッチです。
____ ____ ____
-> ->
____ ____ ____
____
____
____
ウィンドウのサイズを十分に小さくすると、2 行目の縮小が停止し、代わりに 1 行目の縮小が開始されるように、2 行目に一種の「最小の高さ」を追加したいと思います。
望ましい動作:
____ ____ ____
-> -> ____
____ ____
____
____
____
2 番目の行の最小の高さを取得し、最初の行を強制的に縮小する簡単な方法はありますか?
詳細:
2 行目に MinHeight を設定すると、グリッドのサイズをそのサイズより下に変更すると、グリッドがクリップされます。
最初の行のコントロールのサイズはコンパイル時には不明ですが、実行時にはわかります。ソリューションの必要な部分である場合は、行の MaxHeight を設定できますが、現在は自動高さが機能しています。
2 行目のコントロールには明示的なサイズがありません。サイズ変更は許可されていますが、必要な最小高よりも小さくならないようにしています。