StringFormat атрибут
WPF предоставляет возможность задать формат выводимого значения прямо в XAML, без необходимости форматирования значения в коде. В .NET 3.5 появился новый атрибут, который позволяет это сделать – StringFormat
Отображение double в currency
<TextBlock Text="{Binding DoubleValue, StringFormat={}{0:C}}" />
Обратите внимание на {}. Это необходимо сделать, потому как у нас нет текста сразу после знака равенства.
Теперь мы поместим некий текст перед значением
<TextBlock Text="{Binding DoubleValue, StringFormat=Всего: {0:C}}" />
Теперь нет необходимости в скобках {}.
Теперь посмотрим на форматирование даты:
<TextBlock Text="{Binding Date, StringFormat={}{0:dd-mm-yyyy}}" />
А также времени:
<TextBlock Text="{Binding Date, StringFormat={}{0:dd-mm-yyyy hh:mm tt}}" />
Рассмотрим пример MultiBinding-а:
<Button Content="Select me"> <Button.ToolTip> <StackPanel Orientation="Horizontal"> <TextBlock> <TextBlock.Text> <MultiBinding StringFormat="Delete {0} {1}"> <Binding Path="FirstName" /> <Binding Path="LastName" /> </MultiBinding> </TextBlock.Text> </TextBlock> </StackPanel> </Button.ToolTip> </Button>
О типах форматирования можно почитать на MSDN