次の XAML (簡略化) があります。
<Grid x:Name="parentGrid">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<!-- content which fits its parent grid -->
</Grid>
<Grid Grid.Row="1">
<!-- content which fits its parent grid -->
</Grid>
<Grid Grid.Row="2">
<!-- content which fits its parent grid -->
</Grid>
<Grid Grid.Row="3">
<!-- content which fits its parent grid -->
</Grid>
</Grid>
これは、1 ~ 4 個のダイアログを保持する構成可能なコンテナーです。このコンテナは何度も再利用され、含まれるダイアログの量は常に異なります。
要件は、ダイアログが 1 つしかない場合 (最初のグリッドだけが満たされる場合)、親グリッド全体に広がる必要があるということです。塗りつぶされた 2 つのグリッドがある場合、各コンテナーは親グリッドの半分を埋める必要があります。3つある場合...など。
どちらでも動作させることができませんでした<RowDefinition Height="Auto"/>
(とにかくデフォルト) または<RowDefinition Height="*"/>
. たとえば、塗りつぶされた Grid が 1 つだけの場合、親グリッド全体には収まりません。three を削除RowDefinitions
しても機能します。
追加情報: 塗りつぶされていないグリッドの可視性は常に に設定されていVisibility.Collapsed
ます。