我有一个 Windows 8 风格的中心页面,其中包含 TextBlocks 中的大文本。在某些本地化中,文本对于一行来说太长并且需要换行。默认情况下,换行只发生在空格和连字符处。但有时即使是单个单词也太长了,也需要包裹起来。
图片描述:3 个蓝色图块:“文本”、“几个 BREAK 短 BREAK 单词”、“Antidisesta BREAK blishmenta BREAK rianism”
我希望单词中的换行在印刷上是正确的,即使用连字符并在正确的位置(不仅仅是在适合该行的最后一个字母之后)。
在 WPF 中,我通过在文本中加入软连字符作为连字符提示解决了类似的问题。
在计算和排版中,软连字符 [..] 是一种连字符,用于指定文本中允许断字的位置,如果重新排列文本,则不会在不方便的位置强制换行。
不幸的是,这在XAML 框架中似乎不起作用。他们只是被忽略了。零宽度空格也是如此。
有什么方法可以使软连字符起作用吗?或者其他插入连字符提示的方法?
注意:我知道我可以通过编写“Antidises-tablish-mentaria-nism”对连字符/断字符进行硬编码,但这会将字符串绑定到特定的(a 大小)TextBlock 并创建多余的不间断中间词其他文本块中的连字符。我想避免这种情况。