2008-12-29 39 views
12

WPF 3.5 SP1'in bir bağlayıcıda StringFormat desteklediğini biliyorum, ancak Silverlight aynı şeyi yapabilir mi? Yapabilirim diye düşündüm ama işe yarayabilirse lanet olsun! İşte Silverlight, StringFormat'ı bağlamada destekliyor mu?

benim XAML parçacık İşte:

<TextBlock Text="{Binding StartTime, StringFormat=t}" /> 

Tamam derler ama tarayıcıya aldığında bir çalışma zamanı hatası olsun ... aşağıda

cevap

11

Silverlight 3 ve olmayan, ancak Bir Değer Dönüştürücü kullanabilir ve bağlayıcıda ConverterParamenter'ı belirtebilir. Ben, here gösterdiğim gibi bir IValueConverter gelen bir sınıf türeterek kendi Değer Dönüştürücü oluşturmanız gerekir.

Silverlight 4 ve üstü, WPF ile aynı StringFormat ciltleme özelliğine sahiptir.

+7

SL4 bunu yapar. http://msdn.microsoft.com/en-us/library/cc278072(VS.95).aspx –

37

Silverlight'ın hangi sürümünü tanıttığını bilmiyorum, ancak şimdi yapabilirsiniz. Silverlight 4 Beta kullanıyorum.

<data:DataGridTextColumn Header="Date" 
    Binding="{Binding CreateDt, StringFormat=\{0:d\}}" /> 

http://blog.davemdavis.net/2009/12/silverlight-4-data-binding-string.html

İşte Formatting Types üzerine bilgi ve DateTime amaçlı olarak kullanılıyor.

Silverlight Binding.

+1

İlgili kaynak sadece Silverlight 4'te desteklenmektedir diyor http://msdn.microsoft.com/en-us/library/ system.windows.data.bindingbase.stringformat% 28VS.95% 29.aspx – russau

+0

Tim Heuer, ABD dışındaki kültürlerle birlikte kullanıldığında StringFormat bağlamasının bir hata ve geçici çözümüne işaret ediyor: http://timheuer.com/blog/ arşiv/2010/08/11/StringFormat-ve-CurrentCulture-in-silverlight.aspx –

1

Simon tarafından kaydedilen dize biçimi Silverlight 4'tür. Biçimi ayarlamak için Blend'de bile destek vardır.