比例因子Windows Phone

Iva*_*lub 1 xaml windows-phone windows-phone-8.1

如何在Windows Phone中为所有分辨率进行正确的设计测量?根据微软的文章基础屏幕大小是800x400(853x400),但在现实生活中它看起来不是真的.

我做了基本分辨率853x400的设计

码

  <Image Width="160" Height="90" Source="{Binding ImageURL}"/>
Run Code Online (Sandbox Code Playgroud)

我期望在不同的模拟器上看到什么

  • WVGA 4英寸 - x1 = 160x90
  • 720p 4.7英寸 - x1.5 = 240x135
  • 1080p 5.5英寸 - x2.25 = 360x203

我所看到的

  • WVGA 4英寸 - x1.2 = 192x108
  • 720p 4.7英寸 - x1.8 = 288x162
  • 1080p 5.5英寸 - x2.4 = 384x216

从这个基本分辨率是800x450?

测试边距时 - 我得到了或多或少相同的结果:

码

  <Grid Margin="14, 0, 0, 0"/>
Run Code Online (Sandbox Code Playgroud)
  • WVGA 4英寸 - x1.214 = 17px
  • 720p 4.7英寸 - x1.79 = 25px
  • 1080p 5.5英寸 - x2.43 = 34px

但字体绘图是不同的 - +代码

  <Style x:Key="TitleStyle" TargetType="TextBlock">
    <Setter Property="FontSize" Value="28" />
    <Setter Property="FontWeight" Value="SemiLight" />
    <Setter Property="VerticalAlignment" Value="Center"></Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

结果

  • WVGA 4英寸 - x0.93 = 26px
  • 720p 4.7英寸 - x1.32 = 37px
  • 1080p 5.5英寸 - x1.75 = 49px

我该做什么?如何正确使用不同的分辨率?

Pet*_*SFT 7

正如@yasen所说,RawPixelPerViewPixel就是你想要的.480px基线分辨率特定于Silverlight应用程序,而您正在构建通用(XAML)应用程序.有关这方面的更多信息可以在// build的记录演示文稿中找到.如果您只想了解从WP8到8.1的变化,可以跳到48:35