XAML 指定自动换行的有效断点

本文关键字:有效 断点 自动换行 XAML | 更新日期: 2023-09-27 18:16:53

我有一个文本块,其中包含一个网络文件夹的文件路径,例如 ''folder'anotherfolder...

此文本块已启用文本自动换行,并且可以正常工作,但是它会中断''处的路径,如下所示:

'
'folder'anotherfolder...

因此,看起来它已经确定此字符串最合乎逻辑的断点在两个斜杠之间,因为没有任何空格。

不幸的是,这看起来不是很好,所以我想找到一种方法来强制它在换行之前用尽可能多的字符填充每一行。 有没有办法在字符串中指定有效的断点?

XAML 指定自动换行的有效断点

我发现你的问题很有趣,并四处搜索。看起来我们可以使用一些特殊的 Unicode 字符来控制断点。其中之一在您的情况下很有帮助,称为零宽度不间断空格。这有 FEFF 的 unicode 。通过在//之间插入该特殊的 unicode,您可以防止该对被破坏/分离。但是,自 Unicode 3.2 以来,FEFF被弃用,取而代之的是2060,它被认为是连接 2 个边并将它们组合成一个单词的单词连接器字符。这样可以防止连接位置处的断裂。

例如:

<!-- this works in earlier versions of Unicode and may still work 
     since Unicode 3.2 but it is considered as deprecated -->
<TextBlock Text="'&#xFEFF;'folder'anotherfolder..."/>
<!-- this should be used since Unicode 3.2 -->
<TextBlock Text="'&#x2060;'folder'anotherfolder..."/>

关于那些提到的特殊Unicode的参考。

您始终可以使用代码替换所有对,以便在 2 个侧面之间插入特殊的 unicode。