我有一个文本块,它将文件路径保存到网络文件夹中
\\folder\anotherfolder...
此文本块启用了TextWrapping并且工作正常,但它会在\\
处中断路径,如下所示:
\
\folder\anotherfolder...
所以看起来它已经确定这个字符串的最逻辑断点是在两个斜杠之间,因为没有任何空格。
不幸的是,这看起来并不是很好,所以我想找到一种方法来强制它在包装之前用尽可能多的字符填充每一行。 有没有办法在字符串中指定有效的断点?
答案 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="\\folder\anotherfolder..."/>
<!-- this should be used since Unicode 3.2 -->
<TextBlock Text="\⁠\folder\anotherfolder..."/>
被视为 word joiner 字符,它连接两个边并将它们组合为一个字。这可以防止在连接位置右转。
e.g:
Convert.ToDateTime(dtRow[colIndex])
Reference about those mentioned special unicodes
您始终可以使用代码替换所有对,以便在两侧之间插入特殊的unicode。