如何将样式(如文本块的fontsize)从Windows Phone 8 Silverlight移植到Windows Phone 8.1 WinRT

如何将样式(如文本块的fontsize)从Windows Phone 8 Silverlight移植到Windows Phone 8.1 WinRT,silverlight,windows-phone-8,winrt-xaml,windows-phone-8.1,win-universal-app,Silverlight,Windows Phone 8,Winrt Xaml,Windows Phone 8.1,Win Universal App,我有一个现有的WindowsPhone8Silverlight应用程序,为不同页面上的文本块定义了许多不同的样式 我现在正在尝试将整个项目移植到Windows通用应用程序,因此需要将Windows Phone 8 Silverlight项目转换为Windows Phone 8.1 WinRT。除了款式外,我大部分都能工作 我的问题是如何正确使用文本块的样式。对于Windows Phone 8.1 WinRT项目,相同的fontsize和fontfamily的渲染方式似乎不同 这里有一个例子。对于

我有一个现有的WindowsPhone8Silverlight应用程序,为不同页面上的文本块定义了许多不同的样式

我现在正在尝试将整个项目移植到Windows通用应用程序,因此需要将Windows Phone 8 Silverlight项目转换为Windows Phone 8.1 WinRT。除了款式外,我大部分都能工作

我的问题是如何正确使用文本块的样式。对于Windows Phone 8.1 WinRT项目,相同的fontsize和fontfamily的渲染方式似乎不同

这里有一个例子。对于文本块,我有以下样式

<Style x:Name="NormalStyle"
           TargetType="TextBlock">
    <Setter Property="Foreground"
                Value="Red" />
    <Setter Property="FontSize"
                Value="100" />
    <Setter Property="FontFamily"
                Value="Segoe WP" />
    <Setter Property="LineStackingStrategy"
                Value="BlockLineHeight" />
    <Setter Property="TextTrimming"
                Value="WordEllipsis" />
    <Setter Property="TextWrapping"
                Value="Wrap" />
</Style>

我在Silverlight Windows Phone 8和Windows Phone 8.1 WinRT项目中使用了相同的上述样式,如下所示

<TextBlock Text="Hi"
               Style="{StaticResource NormalStyle}" />

下面是它在Windows Phone 8 Silverlight中的显示方式

下面是它在Windows Phone 8.1 WinRT中的显示方式

从上面的图片可以看出,Windows Phone 8.1通用应用程序中的字体大小比silverlight Windows Phone 8中的大得多。因此,复制粘贴样式不是一个选项

  • 是否有建议/定义的方法将我的样式从Silverlight应用程序移植到Windows Phone 8.1 WinRT应用程序
  • WinRT fontsize之类的东西比Silverlight fontsize小5
  • 或者我必须检查每种样式并逐个修改,然后手动比较这两种应用程序,以得出样式完全匹配的结论
  • 其他样式(非文本块)如何。有没有建议的方法来移植它们
  • 如果有人能给我指出正确的方向,我将非常高兴。
    提前感谢。

    windows phone 8(和8.1 silverlight)的最低有效分辨率为480x800

    在Windows Phone 8.1 XAML中,最小有效分辨率为384x640

    640=800*0.8

    384=480*0.8

    因此,如果您在Windows Phone 8中为480x800设计,现在您想迁移到Windows Phone 8.1,则需要将所有硬编码常量(高度、宽度、字体大小、边距)乘以0.8,以获得相同大小的屏幕元素,从而获得新的最小有效分辨率

    您可以观看伟大的彼得·托尔2014年构建视频:
    在50.50上,他提到了这一事实。

    WP 8.1中有了新的屏幕分辨率。如果有常数,则需要将它们乘以0.8。这适用于字体大小、宽度、高度、边距等。在您的情况下,在您的样式中设置FontSize=80。@Бааааааааааааааа。请检查我的答案。@Сааааааааааааа-非常感谢。这很有帮助。