How to format a Label to have a Display Format String?

Willem picture Willem · Mar 9, 2011 · Viewed 13.9k times · Source

I have a Label:

<Label Name="lblBilledDate"
       Content="{Binding Path=BilledDate, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
</Label>

It is bound to a DateTime value.

How can i change the label to display the value to this: DisplayFormatString="dd MMM yyyy"

Currently the Label just dispalys: 1/1/2010

I need it to dispaly: 1 Jan 2010

Answer

user7116 picture user7116 · Mar 9, 2011

Use the ContentStringFormat attribute.

<Label x:Name="SomeLabel"
       Content="{Binding BilledDate}"
       ContentStringFormat="dd MMM yyyy" />

This is because Label inherits from ContentControl. Any ContentControl contains the ContentStringFormat attribute. Additionally, ItemsControl has ItemStringFormat and BindingBase has StringFormat.