我有一个包含两个元素的网格,一个缩放视图框和一个Textblock。我希望Viewbox只占用它所需的空间,但也只能占用空间。UWP XAML:用2个元素填充屏幕,一个Viewbox
图片说明它要好得多,所需的图像第一:
然而,当我调整我的应用是广泛的,视框开始超越它下面的文本块:
这里有一个我的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”),它是用来当APPLICAT离子变成宽屏幕(或风景)。它具有相同的问题:
总之:我想将TextBlock服从它了minHeight =“100”,同时还可以提高视框中使用的空间。
PS:请注意,某些设置会使Viewbox缩放比实际适合屏幕更大的尺寸,这不是理想的!
编辑:值得注意的是,设置了minHeight =“100”在第二行有没有效果...
设置已固定或MainGrid百分率值高度第二行是不适合你? – Eins
这样做的结果浪费在这样的空间:http://puu.sh/oXckj.png在某些窗口大小。 – ManIkWeet