有没有办法格式化绑定到数据网格的值?例如,我有以下内容:
<DataGrid AutoGenerateColumns="False" Height="487" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dgTransactionLog" VerticalAlignment="Top" Width="404">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Date}" Header="Date" />
<DataGridTextColumn Binding="{Binding Path=Payee1.Name}" Header="To/From" />
<DataGridTextColumn Binding="{Binding Path=Amount}" Header="Amount" />
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
我希望Date列只是日期(而不是时间),Amount列是货币格式.以下是我填充数据网格的方法:
var transactions = TransactionManager.GetTransactions();
dgTransactionLog.ItemsSource = transactions;
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 22
使用该StringFormat属性:
<DataGridTextColumn Binding="{Binding Path=Date, StringFormat=d}" Header="Date" />
<DataGridTextColumn Binding="{Binding Path=Amount, StringFormat=C}" Header="Amount" />
Run Code Online (Sandbox Code Playgroud)
一种最简单的方法。在下面的代码中,使用您的语言代码作为 ConverterCulture 的值。您可以在这里找到您的语言代码
<DataGridTextColumn Binding="{Binding Profit, ConverterCulture='gu-IN' ,StringFormat=c}" Header="Profit" Width="*" MinWidth="80" FontWeight="Normal"/>
Run Code Online (Sandbox Code Playgroud)
对于货币以外的任何内容,请在此处找到 stringFormat 说明符