是否可以访问TextBlock模板来更改边框并使其弯曲? 我尝试通过Blend编辑模板,但没有成功。
我正在努力实现这样的目标(无法让解决方案正常工作): Curve TextBlock in Windows 8
我正在尝试在C#/ XAML - WINRT(Windows 8.1)
中执行此操作答案 0 :(得分:1)
我认为TextBlock
没有您可以修改的模板。它可能只是用于告诉DirectWrite要呈现什么文本以及具有什么属性的一些参数。解决问题的最简单方法是将文本设置为常量,将其拆分为多个单个字母TextBlocks
,然后使用Blend或Illustrator将它们放在路径上。如果不控制哪些文本可以显示在路径上 - 您必须编写布局算法的代码。克里斯的链接似乎是一个很好的起点。
答案 1 :(得分:0)
在Xaml中直接执行此操作并不是一种干净的方法。就像菲利普所说,你可以通过打破字母来接近它。对于带有小写字母的长句,这可以很好地工作,但是对于大字母或连接字母来说可能相当粗短。如果您需要更流畅的渲染,那么您可以interop to Direct2D。
MSDN有Direct2D animated text on a path个样本,您可以将其与the XAML SurfaceImageSource DirectX interop sample
结合使用