вторник, 29 марта 2011 г.

StringFormat

Буквально пара слов о форматировании строк в биндингах xaml разметок. Довольно часто хочется не просто выводить сырое значение, а задавать какой-нибудь простенький формат. Классический пример, привязываемся с полю "Cost" выражением "{Binding Cost}", а на выходе хотим получить "Cost:[значение]". Понятно, что с помощью конверторов можно и не такое форматирование понаделать. Однако, специально писать конвертер не хочется, да и не надо. На этот случай мелкомягкие разработчики придумали поле StringFormat. Неплохие посты с примерами здесь, здесь, особенно ясный пример здесь и вот этот еще. Вот пара моих примеров использования StringConverter
 <StackPanel>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat=0 }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat=0:00 }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat='${0:00.0}' }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat=${0:00.0} }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat=Cost: ${0:00.0} }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat=Cost: {0:00.0} dollars }"/>  
      <TextBlock Text="{Binding Source={StaticResource DoubleValue}, StringFormat='\{0:00.0\} \> \{0:00.000\}' }"/>  
 </StackPanel>  
результаты будут такими 211

Комментариев нет:

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