在TextBlock中使用绑定对文本进行硬编码

在WPF中,有没有办法让TextBlockText属性包含硬编码的文本和特定的绑定?

我想到的是以下几点(当然,下面不会编译)

 <TextBlock Text="Number of Fans: {Binding Artist.Fans.Count}"></TextBlock> 

有,如果你在.net 3.5 SP1

 <TextBlock Text="{Binding Path=Artist.Fans.Count, StringFormat='Number of Fans: {0}'}" /> 

在使用上述方法时:

 <TextBlock Text="{Binding Path="Artist.Fans.Count", StringFormat='Number of Fans: {0}'}" /> 

我发现它有点限制,因为我找不到在StringFormat内部粗体显示的方法,也不能在StringFormat中使用撇号。

相反,我采取了这种方法,这对我来说效果更好:

 <TextBlock TextWrapping="Wrap"> <Run>The value</Run> <Run Text="{Binding Path=MyProperty1, Mode=OneWay}" FontWeight="Bold" /> <Run>was invalid. Please enter it with the format... </Run> <LineBreak/><LineBreak/> <Run>Here is another value in the program</Run> <Run Text="{Binding Path=MyProperty2, Mode=OneWay}" FontWeight="Bold" /> </TextBlock> 

使用Binding.StringFormat

 <TextBlock Text="{Binding Artist.Fans.Count, StringFormat='Number of Fans: {0}'}"/> 

这里的绑定值(clouds.all)加上“%”。 您可以在“\ {0 \}”之后添加所需的任何值。

  <TextBlock Text="{Binding Path=clouds.all, StringFormat=\{0\}%}"/>