【问题标题】:Set format to the data that presented in DataGrid -WPF将格式设置为 DataGrid -WPF 中显示的数据
【发布时间】:2013-02-06 12:12:12
【问题描述】:

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

到目前为止,我在代码中做了如下:

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

数据网格:

<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 类:

私有字符串 exm;

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

有没有办法通过 XAML 设置格式? (我想将变量翻倍并设置列格式)

【问题讨论】:

标签: wpf mvvm datagrid format


【解决方案1】:

您可以在Binding 上使用StringFormat 来格式化它:

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

如果StringFormat 不能满足您的所有格式化需求(在这种情况下应该足够了),或者您有更复杂的转换逻辑,那么您可以编写一个Converter 来处理数据。

【讨论】:

    【解决方案2】:

    您可以在 XAML 中设置StringFormat

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

    Here 是一篇很棒的文章

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      相关资源
      最近更新 更多