问题描述
此问题与该问题-How to calculate the size of a piece of text in Win2D不同-因为该方法的结果附加到Win2D CanvasControl的draw事件中。具体来说,它需要参数的DrawingSession。
我想知道是否可以在不调用draw函数的情况下知道文本的大小。这是需要的,因为我需要使用各种CanvasControls宽度或高度才能通过文本的大小进行设置。
解决方法
使用文本和格式创建CanvasTextLayout类的实例,并获取其DrawBounds属性。
using (var layout = new CanvasTextLayout(creator,"Hello world",format,200,100))
{
var bounds = layout.DrawBounds;
}