7

我有一个 Windows 8 风格的中心页面,其中包含 TextBlocks 中的大文本。在某些本地化中,文本对于一行来说太长并且需要换行。默认情况下,换行只发生在空格和连字符处。但有时即使是单个单词也太长了,也需要包裹起来。

在此处输入图像描述

图片描述:3 个蓝色图块:“文本”、“几个 BREAK 短 BREAK 单词”、“Antidisesta BREAK blishmenta BREAK rianism”

我希望单词中的换行在印刷上是正确的,即使用连字符并在正确的位置(不仅仅是在适合该行的最后一个字母之后)。

在 WPF 中,我通过在文本中加入软连字符作为连字符提示解决了类似的问题。

在计算和排版中,软连字符 [..] 是一种连字符,用于指定文本中允许断字的位置,如果重新排列文本,则不会在不方便的位置强制换行。

不幸的是,这在XAML 框架中似乎不起作用。他们只是被忽略了。零宽度空格也是如此。

有什么方法可以使软连字符起作用吗?或者其他插入连字符提示的方法?

注意:我知道我可以通过编写“Antidises-tablish-mentaria-nism”对连字符/断字符进行硬编码,但这会将字符串绑定到特定的(a 大小)TextBlock 并创建多余的不间断中间词其他文本块中的连字符。我想避免这种情况。

4

1 回答 1

-1

软连字符通常使用“U+00AD”实现,但在 WinRT 中会被忽略。您可以使用带有“-”编码的 RichTextBlock。

于 2013-06-28T17:27:33.590 回答