如何将样式(如文本块的fontsize)从Windows Phone 8 Silverlight移植到Windows Phone 8.1 WinRT
我有一个现有的WindowsPhone8Silverlight应用程序,为不同页面上的文本块定义了许多不同的样式 我现在正在尝试将整个项目移植到Windows通用应用程序,因此需要将Windows Phone 8 Silverlight项目转换为Windows Phone 8.1 WinRT。除了款式外,我大部分都能工作 我的问题是如何正确使用文本块的样式。对于Windows Phone 8.1 WinRT项目,相同的fontsize和fontfamily的渲染方式似乎不同 这里有一个例子。对于文本块,我有以下样式如何将样式(如文本块的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的渲染方式似乎不同 这里有一个例子。对于
<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中的大得多。因此,复制粘贴样式不是一个选项
提前感谢。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。@Бааааааааааааааа。请检查我的答案。@Сааааааааааааа-非常感谢。这很有帮助。