Работает ли функция StringFormat WPF Xaml на Label.Content? - PullRequest
25 голосов
/ 24 января 2011

Я связал свою сумму Свойство метки с десятичным свойством через DataContext. Я пытаюсь применить stringformat, но не вижу эффекта. Работает ли функция StringFormat на элементах управления Label? Скажите, пожалуйста, на каких элементах управления работает эта функция? Кстати, ниже приведен код элемента управления метками, для которого я хочу применить форматирование валюты

<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" />

Ответы [ 2 ]

30 голосов
/ 24 января 2011

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>
28 голосов
/ 27 марта 2012

Попробуйте ContentStringFormat

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

<Label Content=”{Binding Amount}” ContentStringFormat=”C” /> 
...