これはしばらくの間私を悩ませてきました。グリッドや境界線を xaml ページの高さと幅に引き伸ばすのに問題があります。デフォルトでは、VerticalAlignment と HorizontalAlignment の両方を 'Stretch' に設定する必要がありますが、内部にある子要素の高さだけを伸ばしたいだけで、理由がわかりません。
例: 固定幅 1024、高さ 768 の WPF XAML ページがある場合、次のコードは、ページの幅と高さを拡大するグリッドを表示する必要があります。幅では正しく機能しますが、高さでは機能しません。ハードコーディングされた幅を指定しているため、実際には幅に対してのみ正しく機能します。
<page ..
...
..
d:width="1024" d:height="768">
<Grid>
<Grid.RowDefinitions>
<RowDefinition height = "*" />
<RowDefinition height = "50" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition width = "250" /> <!-- Left Side Navbar !-->
<ColumnDefinition width = "*" /> <!-- TabControl !-->
</Grid.ColumnDefinitions>
<Border grid.column = "0">
<Textbox></Textbox>
</Border> <!-- Vertical should stretch !-->
<Border grid.column = "1">
<TabControl></TabControl>
</Border>
</Grid>
ページ自体が画面全体の高さまで伸びているかどうかを確認するために、ページの背景色を緑にしましたが、そうではなく、グリッド内のコントロールの子要素の範囲まで垂直に伸びただけでした。内部に要素がなくても、高さと幅の両方を伸ばすようにグリッドまたは境界線を設定できるはずですが、誰かがこれを行う真の正しい方法を示すことができますか?