UWP Win2D 绘制具有指定宽度的文本?可能吗?

UWP Win2D draw text with specified width? Is it possible?

我喜欢用 Win2D UWP 应用中绑定的字符串的特定 'Width' 绘制文本 "Hello Test Text"。

这就是我需要的原因:

<Viewbox Stretch="Uniform" Width="auto" Height="auto">
                    <TextBlock x:Name="txtSignaturePreview" Text="Sample Text" Foreground="White" />
                </Viewbox>

使用这段代码,我可以通过更改 Viewbox 的宽度来调整文本的大小。 "Sample Text" 的字体大小更改以适应宽度。

我喜欢用 Win2D DrawText 做同样的事情。

CanvasDrawingSession.DrawText 方法(字符串、矩形、颜色、CanvasTextFormat)

DrawText 的矩形只是限制和强制文本换行。我发现实现目标的唯一解决方案是更改字体大小并通过 CanvasTextFormat 传递它。 但是,问题是我找不到一个解决方案来计算出适合的字符串宽度的理想字体大小。

有什么帮助吗?

这是根据自己的研究更新后的答案。

在 msdn 论坛与 MSFT 人员讨论后,我确认使用当前可用的方法无法轻松实现这一点。 Win2D不支持。

我确实变通了;我根据宽度比例计算字体大小。字体大小是双倍的,非常准确,到目前为止效果很好。