WPF Xaml的StringFormat功能是否适用于Label.Content?

Pan*_*yay 25 wpf xaml label string-formatting

我通过DataContext 将Amount Label的 Content属性绑定到十进制属性.我正在尝试应用stringformat但看不到任何效果.StringFormat功能是否适用于Label控件?请告诉我这项功能适用于哪些控件.BTW以下是我想要应用货币格式的Label Control代码

<Label Grid.Column="2" Content="{Binding Path=Amount, StringFormat={}{0:C}}" Height="23" HorizontalAlignment="Left" Margin="100,10,0,0" Name="tb" VerticalAlignment="Bottom" Width="120" />
Run Code Online (Sandbox Code Playgroud)

Pav*_*kov 30

StringFormat适用于string类型的属性(当您绑定的对象被转换为字符串时,将应用字符串格式).该Content属性是类型Object.

您可以在标签内放置TextBlock以获得所需的效果:

<Label Grid.Column="2" Height="23" HorizontalAlignment="Left" Margin="100,10,0,0" Name="tb" VerticalAlignment="Bottom" Width="120">
   <TextBlock Text="{Binding Path=Amount, StringFormat={}{0:C}}"/>
</Label>
Run Code Online (Sandbox Code Playgroud)

  • 好吧,据我所知,必须满足两个条件才能使StringFormat工作:绑定的target属性应该是string类型(如文本块中的"Text"属性)和source属性("Amount")不应该是一个字符串.另请阅读MSDN上的文档:http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat.aspx. (3认同)

Jam*_*esM 28

尝试 ContentStringFormat

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/866f7934-8b10-4872-b306-122674fad5fa/

<Label Content=”{Binding Amount}” ContentStringFormat=”C” /> 
Run Code Online (Sandbox Code Playgroud)