2

それぞれグリッドを持つ 2 つの UserControls があります。最初のものは高さと幅を定義します:

<UserControl
    Height="620"
    Width="450">

   <Grid Margin="50, 0, 0, 50">

もう 1 つのコントロールは高さのみを定義します。

<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は初めてですが、レスポンシブレイアウトを行う方法を学ぼうとしています.

4

1 に答える 1

0

WinRT レンダリング エンジンは、すべてが物理的に正しくスケーリングされるため、画面の解像度に関係なく、4 つの 10.6 インチ テストが同じサイズに見えます。12 インチ テストは適切にスケーリングされますが、サイズが 10.6 インチに近いため、違いはわかりません (違いはありますが)。最大の画面サイズはスケーリングされるため、450x620 コントロールは 450x620 コントロールと 23 インチのフル HD 画面のように見えます。これは小さなコントロールを意味します。

実際、投稿したリンクは、モダン UI アプリで使用できるすべてのタイプのスケーリングをうまく説明しています。また、最小サイズを設定する必要がある場合は、代わりに MinWidth プロパティと MinHeight プロパティを使用してください。

于 2012-12-11T19:04:51.560 に答える