Функция StringFormat WPF Xaml работает с Label.Content?
Я привязываю свойство Content Ярлык к десятичному свойству через 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" />
Ответы
Ответ 1
StringFormat
работает с свойствами строки типа (когда объект, к которому вы привязываетесь, преобразуется в строку, применяется формат строки). Свойство 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>
Ответ 2
Попробуйте ContentStringFormat
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/866f7934-8b10-4872-b306-122674fad5fa/
<Label Content="{Binding Amount}" ContentStringFormat="C" />