Поддерживает ли Silverlight StringFormat привязку?
Я знаю, что WPF 3.5 SP1 поддерживает привязку StringFormat
, но может ли Silverlight сделать то же самое? Я думал, что это возможно, но проклятый, если я могу заставить его работать!
Вот фрагмент моего XAML:
<TextBlock Text="{Binding StartTime, StringFormat=t}" />
Он компилируется в порядке, но я получаю ошибку времени выполнения, когда он попадает в браузер...
Ответы
Ответ 1
Silverlight 3 и ниже этого не делают, но вы можете использовать Преобразователь значений и указать ConverterParamenter в привязке. Вам нужно будет создать свой собственный Преобразователь значений, выведя класс из IValueConverter, как я показал здесь.
Silverlight 4 и более поздние версии имеют такое же свойство привязки StringFormat, что и WPF.
Ответ 2
Я не знаю, какая версия Silverlight представила его, но теперь вы можете это сделать. Я использую Silverlight 4 Beta.
<data:DataGridTextColumn Header="Date"
Binding="{Binding CreateDt, StringFormat=\{0:d\}}" />
http://blog.davemdavis.net/2009/12/silverlight-4-data-binding-string.html
Здесь информация о Форматирование типов и многое другое для DateTime.
Здесь полная документация по Silverlight Binding.
Ответ 3
Формат строки, отмеченный Саймоном, находится в Silverlight 4. В настройке формата Blend поддерживается даже поддержка.