首页 > 代码库 > windows store app 如何计算字符所占的宽度

windows store app 如何计算字符所占的宽度

最近在做一个PDF电子文档相关的项目,我们的app是运行在Windows 8 / WinRT 下的。由于使用的第三方库的一些技术限制,text area竟然不支持多行文本自动换行。于是我们就需要自己实现自动换行,实现这个功能的关键点就是要知道如何去计算一个字符,一个单词在指定了字体跟字体大小的前提下占多宽。其实我们可以使用UIElement.Measure()来实现。具体的实现代码如下:

private static double MeasureString(string text,double fontSize = 7.0)        {            var textBlock = new TextBlock();            textBlock.Text = text;            textBlock.FontSize = fontSize;            textBlock.FontFamily = new Windows.UI.Xaml.Media.FontFamily("Microsoft YaHei");            textBlock.Measure(new Size(Double.MaxValue, Double.MaxValue));            return textBlock.ActualWidth;        }

 

windows store app 如何计算字符所占的宽度