私はスケーリングViewboxとTextblockという2つの要素を持つグリッドを持っています。私は、Viewboxに必要なスペースだけを取ってもらいたいだけでなく、それが得ることができるスペースだけを持っていたいと思っています。UWP XAML:2つの要素、1つのビューボックスで画面を塗りつぶし
画像はまず、それがはるかに優れ、所望の画像を説明します。私は自分のアプリケーションが広くなるようにサイズを変更する場合
はしかし、ビューボックスは、その下のTextBlockを追い越すために開始します。
ここです私のXAMLのバージョンダウン易しく書き直さ:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" x:Name="MainGrid" Margin="0" UseLayoutRounding="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="0" />
</Grid.ColumnDefinitions>
<Viewbox Stretch="Uniform" VerticalAlignment="Top" HorizontalAlignment="Left" Grid.Row="0" x:Name="Zulrah">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="Blue" Width="150" Height="250" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
<Rectangle Grid.Column="1" Fill="Red" Width="150" Height="250" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</Grid>
</Viewbox>
<TextBlock Grid.Row="1" x:Name="TextOutput" MinHeight="100" MinWidth="100">
Hello world!
<LineBreak />
Life's good
</TextBlock>
</Grid>
をあなたは多かれ少なかれ(幅=「0」との)第二のカラムを無視することができ、それは時にアプリケーションシートのために使われていますイオンはワイドスクリーン(または風景)になります。これは、同じ問題があります:
要するに
:私は、TextBlockのはまだビューボックスが使用するスペースを最大化しながら、それは、=「100」minHeightのだ従いたいです。
PS:一部の設定では、実際に画面に収まるサイズよりも大きなサイズにViewboxが調整されますが、これは望ましくありません。
編集:驚くべき、2行目のminHeightの=「100」は効果がありません設定...
固定またはMainGrid第二行のパーセンテージの高さはあなたのために適していない設定? – Eins
このようにすると、特定のウィンドウサイズでhttp://puu.sh/oXckj.pngのような無駄なスペースになります。 – ManIkWeet