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

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Похожие статьи

Оставить комментарий