GroupBox 标头绑定中的字符串格式似乎不起作用
本文关键字:格式 不起作用 字符串 绑定 GroupBox | 更新日期: 2023-09-27 17:56:29
我正在尝试将GroupBox
的标题文本绑定到属性并使用StringFormat
显示它。
第一部分工作,它按预期返回文本。但是我希望最终文本被格式化。例如,当我返回cm
时,我希望它显示为Foundation Height (cm)
,但下面的代码仅显示cm
。
<GroupBox Header="{Binding CurrentTargetUnit,
Converter={StaticResource QuantityToTextConverter},
ConverterParameter={x:Static enumerations:Quantity.Length},
StringFormat='Foundation Height ({0})'}">
</GroupBox>
尝试不带引号
....
StringFormat=Foundation Height ({0})}">
更新
由于您对标头使用了绑定,因此应改用HeaderStringFormat
。
....
HeaderStringFormat=Foundation Height ({0})}">
阅读文档了解更多信息
我遇到了同样的问题。 我在这里找到了答案。
<GroupBox>
<GroupBox.Header>
<TextBlock Text="{Binding CurrentTargetUnit,
Converter={StaticResource QuantityToTextConverter},
ConverterParameter={x:Static enumerations:Quantity.Length},
StringFormat=Foundation Height ({0})}">
</GroupBox.Header>
</GroupBox>
您还需要从字符串格式中删除引号。 此外,在上面的链接中,它显示了将"{}"放在 StringFormat 中的任何内容之前。 如果我没记错的话,你只需要占位符是第一个:StringFormat={}{0:C}
允许StringFormat 绑定的元素数量有限,TextBlock 是一个,而 GroupBox 标头则不允许。
试试这个:
StringFormat={}Foundation Height ({0})}">