【问题标题】:Soft hyphens or hyphenation hints in TextBlocksTextBlocks 中的软连字符或连字符提示
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • “-”编码是什么意思?
  • 使用带有“-”编码的 RichTextBlock。”是什么意思?使用 RichTextBlock 并将软连字符插入内联元素,例如一个段落?不,那 行得通。在您澄清之前投反对票...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 1970-01-01
相关资源
最近更新 更多