我有一个Silverlight OOB应用程序。一些TextBlocks (但不是所有的)已经开始表现得很奇怪了。从设计师的角度来看,它们的尺寸是我想要的。当我运行这个应用程序时,它们看起来大约大了1pt。
我用Silverlight Spy检查过,字体大小/重量与设计时相同。如果在设计模式下字体太小,它们在运行时就会显示出合适的大小。如果我使用Silverlight Spy使它们在运行时过小1pt,那么它们看起来是正确的大小。Silverlight间谍显示,TextBlocks不受样式的影响。
是什么导致了这一切?我使用VS 2010和Silverlight 5。
发布于 2013-11-12 14:10:05
如果我在WPF或Silverlight中观察到字体呈现上的差异,几乎总是因为FontFamily不同而不是FontSize。如果可以,请用Silverlight Spy验证字体族实际上是相同的。
有趣的是,即使有效字体系列是相同的,也可能存在差异。在我们的一个应用程序中,我们使用的是一个复合FontFamily定义,该定义对大多数西方字形范围使用Segoe,但对于希腊字形范围使用了一种锯齿状字体,以更好地区分这些字符(这是一个金融应用程序)。我注意到编辑器中的行高度与运行时应用程序中的行高度略有不同。似乎编辑器并不总是正确地应用组合字体(或者没有,在某些VS2012更新之前)。
发布于 2013-11-05 14:28:21
检查是否有变换的存在。
发布于 2017-08-15 10:18:42
我在标签、按钮和复选框上遇到了这个问题。在使用WPF检查器查看之后,我注意到上面每个文本中的文本都包含一个TextBlock来显示实际文本,并且我已经将文本块的默认FontSize设置为13,这将重写我为(例如)标签指定的值。
这把我弄明白了
<ControlTemplate x:Key="LabelTemplate" TargeType="Label">
<TextBlock Text="{TemplateBinding Content}" FontSize="{TemplateBinding FontSize}" />
</ControlTemplate>
<Style TargetType="{x:Type Label}">
<Setter ... etc. etc. other styling I had already in here />
<Setter Property="Template" Value="{StaticResource LabelTemplate}" />
</Style>https://stackoverflow.com/questions/19724394
复制相似问题