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

时间:2015-10-08 18:50:05

标签: c# wpf xaml

我有一个文本块,它将文件路径保存到网络文件夹中 \\folder\anotherfolder...

此文本块启用了TextWrapping并且工作正常,但它会在\\处中断路径,如下所示:

\
\folder\anotherfolder...

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

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

1 个答案:

答案 0 :(得分:0)

我发现你的问题很有趣并且已经四处寻找。看起来我们可以使用一些特殊的Unicode字符来控制断点。其中一个在您的情况下很有用,称为 零宽度不间断空间 。这有FEFF的unicode。通过在//之间插入特殊的unicode,可以防止该对被破坏/分离。但是,自{Unicode} 3.2以来FEFF已被弃用,并被2060取代,<!-- 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..."/> 被视为 word joiner 字符,它连接两个边并将它们组合为一个字。这可以防止在连接位置右转。

e.g:

Convert.ToDateTime(dtRow[colIndex])

Reference about those mentioned special unicodes

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