windows store app 如何計算字元所佔的寬度

林堯彬發表於2020-04-04

最近在做一個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;
        }

 

轉載於:https://www.cnblogs.com/supperwu/p/6340504.html

相關文章