StringFormat (от «0214» до «02:14») - PullRequest
       0

StringFormat (от «0214» до «02:14»)

0 голосов
/ 29 декабря 2011

У меня есть строка "0214", я хотел бы представить это как 02:14, это возможно в wpf с stringFormat и привязкой.

Если бы это было целое число, я мог бы сделать это, как показано ниже, но проблема в том, что "0" исчезает и становится Int "214", но это не хорошо для размещения в базе данных, потому что для этого требуется 4 числа.

<GridViewColumn Header="Start" DisplayMemberBinding="{Binding Start, StringFormat={}{0:00\:00}}"/>

вывод: '02: 14 '

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

StringFormat фактически не используется для форматирования строк.Он используется для форматирования нестроковых значений в строки.

Вы можете использовать IValueConverter , однако, чтобы преобразовать вашу строку в нужный вам формат.Другой вариант - изменить класс данных, открыв доступное только для чтения свойство FormattedStart, которое возвращает отформатированное значение.

0 голосов
/ 29 декабря 2011
  • Используйте преобразователь, чтобы разделить входную строку и вернуть две части, разделенные :
  • Преобразовать в int и использовать StringFormat={}{0:00\\:00}} (Это должно быть эквивалентно int.ToString("00':'00")
...