我有一个Windows 8样式的中心页面,其中的图块包含TextBlocks中的大文本。在某些本地化版本中,文本对于一行来说太长而需要包装。每个默认包装仅发生在空格和连字符处。但有时即使单个单词太长也需要包装。
图片描述:3个蓝色瓷砖:"文字","几个BREAK短BREAK字"," Antidisesta BREAK blishmenta BREAK rianism"
我希望单词内的包装在印刷上是正确的,即用连字符和正确的位置(不是简单地在适合该行的最后一个字母之后)。
在WPF中,我通过将soft hyphens放入文本中解决了类似问题,如连字符提示。
在计算和排版中,软连字符[..]是一种用于指定文本中的位置的连字符,其中允许带连字符的中断,而不会在文本重新流动时在不方便的位置强制换行。
不幸的是,这似乎不适用于XAML framework。他们完全被忽略了。 Zero-width spaces也是。
有没有办法让软连字符有效?或者其他一些插入连字符提示的方法?
注意:我知道我可以通过编写" Antidises-tablish-mentaria-nism"来对连字符/符号进行硬编码,但这会将字符串绑定到特定的(a的大小)TextBlock并在其他TextBlocks中创建超级不间断的中间单词连字符。我想避免这种情况。
答案 0 :(得分:0)
软连字符通常使用“U + 00AD”实现,但在WinRT中会被忽略。您可以将RichTextBlock与“ - ”编码一起使用。