将格式设置为DataGrid -WPF中显示的数据

时间:2013-02-06 12:12:13

标签: wpf mvvm datagrid format

我想在 xaml 中将格式设置为DataGrid的列,这些列包含双数据。

到目前为止,我在代码中执行了以下操作:

string format = "{0:F3}";
double nExm= 4.24;
string newExm= string.Format(format, nExm);

DataGrid:

<DataGrid x:Name="DG" ItemsSource="{Binding List}" AutoGenerateColumns="False">
     <DataGrid.Columns>
          <DataGridTextColumn Header="{x:Static p:Resources.Exm}" Binding="{Binding Exm}"></DataGridTextColumn>
     </DataGrid.Columns>
 </DataGrid>

newExm它不同,它包含在包含绑定到DataGrid的列表的类X中

X班级:

private string exm;

    public string Exm
    {
        get { return exm; }
        set
        {
            exm= value;
            NotifyPropertyChanged("Exm");
        }
    }

有没有办法通过XAML设置格式? (我想将变量变为double并在列上设置格式)

2 个答案:

答案 0 :(得分:1)

您可以在XAML中设置StringFormat

<TextBox Text="{Binding paymentAmount, StringFormat={0:C2}}"/>

Here是一篇很棒的文章

答案 1 :(得分:1)

您可以使用StringFormat上的Binding对其进行格式化:

Binding="{Binding YourDoublePropertyHere, StringFormat=F3}"

如果StringFormat没有满足您的所有格式需求(在这种情况下它应该足够),或者您有更复杂的转换逻辑,那么您可以编写Converter来按摩数据。