【发布时间】:2013-06-28 10:41:32
【问题描述】:
我有一个 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 并在其他 TextBlock 中创建多余的不间断的中间字连字符。我想避免这种情况。
【问题讨论】:
-
(图片没有显示给我。似乎有a problem和stack.imgur.com)
-
@dtb:Hmpf。好的,也添加了文字说明。
-
@SebastianNegraszus 你能解决这个问题吗?
-
@karlingen 我不记得了,但我可能没有解决这个问题。我已经很久没有使用过这个应用程序或任何其他 Windows 应用商店/UWP 应用程序了。
-
@SebastianNegraszus 我明白了。谢谢你回复我。似乎有一个开放的功能请求:github.com/microsoft/microsoft-ui-xaml/issues/4068
标签: c# wpf windows-store-apps winrt-xaml