【问题标题】:Newline or carriage returns in Multibind StringFormatMultibind StringFormat 中的换行符或回车符
【发布时间】:2013-04-15 22:22:27
【问题描述】:

所以我有以下内容:

<TextBlock.Text>
  <MultiBinding StringFormat="So and so will donate {0:C0}&#x0d;&#x0a;to {1}, bringing the&#x0d;&#x0a;total amount to {2:C0}.">
    <Binding Path="VisitorTotal" />
    <Binding Path="EventName" />
    <Binding Path="EventTotal" />
  </MultiBinding>
</TextBlock.Text>

我尝试过&amp;#x0d;&amp;#x0a;&amp;#10;\n\\n,以及它们的各种组合。没有什么会给我换行符。有什么关系?

【问题讨论】:

  • 只需&amp;#x0a; 应该 工作 - 你能显示 TextBlock 的完整声明吗?你设置好换行了吗?
  • 我确实将它设置为实际换行。有趣的是,这会产生影响。

标签: wpf xaml textblock multibinding


【解决方案1】:

我的偏好是直接使用Environment.NewLine

<MultiBinding StringFormat="So and so will donate {0:C0}{3}to {1}, bringing the{3}total amount to {2:C0}.">
  <Binding Path="VisitorTotal" />
  <Binding Path="EventName" />
  <Binding Path="EventTotal" />
  <Binding Source="{x:Static System:Environment.NewLine}"/>
</MultiBinding>

但是,您还需要确保 TextBlock.TextWrapping 设置正确。

【讨论】:

  • 太棒了。聪明的。无可挑剔。
  • 添加 xmlns:s="clr-namespace:System;assembly=mscorlib" (我将 System 更改为 s以避免命名空间定义中出现多个“系统”字样)。从this SO question的 LPL 答案中盗取
猜你喜欢
  • 1970-01-01
  • 2021-07-05
  • 2023-02-21
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 2021-08-08
  • 2020-09-09
  • 2015-01-25
相关资源
最近更新 更多