缩放在23英寸和27英寸屏幕中不起作用

时间:2012-12-10 18:26:15

标签: xaml windows-8 responsive-design scale

我有两个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的新手,但我正在尝试学习如何进行响应式布局。

1 个答案:

答案 0 :(得分:0)

WinRT渲染引擎可以扩展,所以一切都是物理上正确的,这就是为什么4 10.6“测试看起来大小相同,无论屏幕的分辨率如何。12”测试很好地扩展,但是因为它的大小接近10.6 “你不会注意到差异(虽然有区别),最大屏幕尺寸会缩放,所以你的450x620控制看起来像一个450x620控制器和一个23英寸全高清屏幕,这意味着一个小控件。

实际上,您发布的链接很好地描述了您可以在Modern UI应用中使用的每种缩放类型。如果您确实需要设置最小大小,请改用MinWidth和MinHeight属性。