C# XAML为换行指定有效的断点
我有一个textblock,它保存一个指向网络文件夹的文件路径,如C# XAML为换行指定有效的断点,c#,wpf,xaml,C#,Wpf,Xaml,我有一个textblock,它保存一个指向网络文件夹的文件路径,如 \\folder\anotherfolder… 此textblock已启用TextWrapping,工作正常,但它会在\\处中断路径,如下所示: \ \folder\anotherfolder... 因此,它似乎已确定此字符串的最符合逻辑的断点位于两个斜杠之间,因为没有任何空格 不幸的是,这看起来不是很好,所以我想找到一种方法,在包装之前,强制它用尽可能多的字符填充每一行有没有办法在字符串中指定有效的断点?我发现你的问题很有趣
\\folder\anotherfolder…
此textblock已启用TextWrapping,工作正常,但它会在\\
处中断路径,如下所示:
\
\folder\anotherfolder...
因此,它似乎已确定此字符串的最符合逻辑的断点位于两个斜杠之间,因为没有任何空格
不幸的是,这看起来不是很好,所以我想找到一种方法,在包装之前,强制它用尽可能多的字符填充每一行有没有办法在字符串中指定有效的断点?我发现你的问题很有趣,已经四处搜索过了。看起来我们可以使用一些特殊的Unicode字符来控制断点。其中一个在您的案例中很有帮助的是称为零宽度非中断空间。这具有
FEFF
的unicode。通过在/
之间插入特殊的unicode,可以防止断开/分离该对。但是,自Unicode 3.2以来,FEFF
已被弃用,取而代之的是2060
,它被视为连接两侧并将其组合为一个单词的字连接符。这样可以防止在接合位置处向右断裂
e、 g:
您可以始终使用代码替换所有对,以便在两侧之间插入特殊的unicode。我发现您的问题很有趣,并已四处搜索。看起来我们可以使用一些特殊的Unicode字符来控制断点。其中一个在您的案例中很有帮助的是称为零宽度非中断空间。这具有
FEFF
的unicode。通过在/
之间插入特殊的unicode,可以防止断开/分离该对。但是,自Unicode 3.2以来,FEFF
已被弃用,取而代之的是2060
,它被视为连接两侧并将其组合为一个单词的字连接符。这样可以防止在接合位置处向右断裂
e、 g:
您可以始终使用代码替换所有对,以便在两侧之间插入特殊的unicode
<!-- 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..."/>