我有两个UserControl,每个都有一个Grid。第一个定义高度和宽度:
<UserControl
Height="620"
Width="450">
<Grid Margin="50, 0, 0, 50">
另一个控件仅定义高度:
<UserControl
Height="768">
<Grid>
现在我试图在这样的背景中使用它们:
<Grid>
<Image Source="Assets/background.png" Stretch ="UniformToFill"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Controls:EventImagesControl Grid.Row="0" Grid.Column="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<Controls:ScrollControl Grid.Row="0" Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
</Grid>
</Grid>
一切都像我期望的那样在以下设置中扩展:
10.6" 1024x768
10.6" 1366x768
10.6" 1920x1080
10.6" 2560x1440
12" 1280x800
然而,当我尝试使用以下设置时,它只会在宽度上缩放而不是在高度上(至少看起来如此)
23" 1920x1080
27" 2560x1440
我试图避免使用ViewBox。我是windows8 / wpf的新手,但我正在尝试学习如何进行响应式布局。
答案 0 :(得分:0)
WinRT渲染引擎可以扩展,所以一切都是物理上正确的,这就是为什么4 10.6“测试看起来大小相同,无论屏幕的分辨率如何。12”测试很好地扩展,但是因为它的大小接近10.6 “你不会注意到差异(虽然有区别),最大屏幕尺寸会缩放,所以你的450x620控制看起来像一个450x620控制器和一个23英寸全高清屏幕,这意味着一个小控件。
实际上,您发布的链接很好地描述了您可以在Modern UI应用中使用的每种缩放类型。如果您确实需要设置最小大小,请改用MinWidth和MinHeight属性。