我有一个现有的Windows Phone 8 Silverlight应用程序,在不同页面上为TextBlock定义了许多不同的样式。现在,我正在尝试将整个项目移植到Windows通用应用程序上,因此需要将Windows Phone 8 Silverlight项目转换为Windows Phone 8.1 WinRT。大多数部分都能够正常工作,但是出现了样式问题,主要是在TextBlocks上。相同字体大小和字体族似乎在Windows Phone 8.1 WinRT项目中无法以相同的方式呈现。以下是一个示例,对于TextBlock,我有以下样式:
以下是在Windows Phone 8 Silverlight中的样子: 以下是在Windows Phone 8.1 WinRT中的样子: 从以上图片中可以看出,Windows Phone 8.1通用应用程序中的字体大小要比Silverlight Windows Phone 8中的字体更大。因此,简单地复制样式不是一个选项。
以下是需要回答的问题: 1. 有没有一种建议/定义的方式可以将我的样式从Silverlight应用程序移植到Windows Phone 8.1 WinRT应用程序? 2. 是否存在类似于WinRT字体大小比Silverlight字体大小小5的东西? 3. 或者我必须逐个修改每个样式,并手动比较两个应用程序以确保样式完全匹配? 4. 其他样式(非TextBlock)怎么办?有没有建议的移植方式?
如果有人能指点我正确的方向,我会非常感激。先谢谢了。
<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中的字体更大。因此,简单地复制样式不是一个选项。
以下是需要回答的问题: 1. 有没有一种建议/定义的方式可以将我的样式从Silverlight应用程序移植到Windows Phone 8.1 WinRT应用程序? 2. 是否存在类似于WinRT字体大小比Silverlight字体大小小5的东西? 3. 或者我必须逐个修改每个样式,并手动比较两个应用程序以确保样式完全匹配? 4. 其他样式(非TextBlock)怎么办?有没有建议的移植方式?
如果有人能指点我正确的方向,我会非常感激。先谢谢了。