如何将DataGrid单元格的内容格式化为日期?作为货币?
问题描述:
我有一个Silverlight DataGrid
这是填充每列不同类型的数据。我试图弄清楚如何格式化一些DataGrid
的单元格的内容,特别是日期和格式。如何将DataGrid单元格的内容格式化为日期?作为货币?
我有一个日期列,目前显示如下:3/11/2010 12:00:00 AM。我宁愿它显示像3/14/2010。
我有一个数字列,目前显示如:51.32。我宁愿它显示为$ 51.32等货币。
我不知道我该如何去做这件事。我更喜欢用XAML而不是C#来完成,但两种解决方案都很好。
供参考,这是我的XAML至今:
</data:DataGridTextColumn>
<data:DataGridTextColumn Header="Payee"
Binding="{Binding Payee}"/>
<data:DataGridTextColumn Header="Category"
Binding="{Binding Category}"/>
<data:DataGridTextColumn Header="Memo"
Binding="{Binding Memo}"/>
<data:DataGridTextColumn Header="Inflow"
Binding="{Binding Inflow}"/>
<data:DataGridTextColumn Header="Outflow"
Binding="{Binding Outflow}"/>
</data:DataGrid.Columns>
答
您可以使用基于一的String.format和的IValueConverter在XAML绑定。
答
如果你有可能在下周等待的Silverlight 4的发布,可能在MIX10。它在绑定中有一些新功能,如格式化。使用Silverlight 4,你可以做的东西,如:
<TextBox Text="{Binding ReleaseDate, StringFormat='MMM dd, yyyy',
Mode=TwoWay}" />
肖恩Wildermuth具有的新功能上his blog一个很好的概述。