在开头引号旁边使用Curly Brace时出现HeaderStringFormat问题

时间:2014-12-03 21:29:14

标签: c# wpf xaml groupbox

我有以下XAML。我们的想法是在来自绑定XML文件的字符串之后附加文本“For Report”。

<GroupBox Header="{Binding XMLData.Element[HeadingText].Value}" 
          HeaderStringFormat="For Report">

当我将{0}添加到HeadingStringFormat字符串的开头时,应用程序会忽略HeaderStringFormat并简单地设置数据绑定值。

<GroupBox Header="{Binding XMLData.Element[HeadingText].Value}" 
          HeaderStringFormat="{0} For Report">

但是,当我在引用之后添加单个空格(或任何其他字符)时,但在左边{之前,应用程序正常工作。

<GroupBox Header="{Binding XMLData.Element[HeadingText].Value}" 
          HeaderStringFormat=" {0} For Report" >

在第一个例子中,编辑器似乎认为字符串(引号之间)不再是字符串,但如果我放入那个空格,那就很开心了。

1 个答案:

答案 0 :(得分:7)

尝试使用{}为格式字符串添加前缀。这应该有效:

<GroupBox Header="{Binding XMLData.Element[HeadingText].Value}" 
          HeaderStringFormat="{}{0} For Report">

有关详细信息,请参阅MSDN: {} Escape Sequence / Markup Extension