2010-05-25 88 views
0

如何以像素为单位获取字符串长度(给定字体,大小重量等)?我看到推荐使用System.Drawing.Graphics *,但Assembly/Namespace似乎并没有在Silverlight中提供给我。以像素为单位的字符串长度

我希望将一个文本框放在图像下方,但文本是动态提供的。

+0

据我所知在SL中没有办法做到这一点。 WPF可以使用System.Drawing.Graphics类,但正如你所说,它们不在SL中存在,我从来没有找到另一种方式来做到这一点。 – Stephan 2010-05-25 14:54:36

回答

3

既然你的目标是把文本框放在中间,不要搞乱计算宽度等。只要告诉容器将文本框居中。

例如。

<Grid> 
    <Image Source="ToolBox Avatar.png" Stretch="Fill"/> 
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="TextBlock" TextWrapping="Wrap"/> 
</Grid> 
+0

这是一个很好的解决方案 - 但我的项目是在不同的“行”我应该回去重新设计用户界面。 – akaphenom 2010-05-25 18:43:06

0

以为我不熟悉为Silverlight开发,我认为this可能对您有用。

+0

Thx - 但没有访问System.Graphics.Drawing获取GraphicsUnit类... – akaphenom 2010-05-25 15:00:39

+0

使用WPF并不意味着System.Drawing不可用。您仍然可以手动添加对其的引用。 (编辑:哦,等等,Silverlight,我忘了!也许你不能。) – YotaXP 2010-05-25 16:31:50

相关问题