来自代码的WPF格式化货币列

时间:2013-02-25 06:41:54

标签: wpf datagrid

我正在使用xceed datagridcontrol,我认为它与DataGrid非常相似。 我使用Business Object类的ObservableCollection加载了网格行和列。到目前为止一切顺利,B O中的所有属性都自动翻译为网格列,所有行都显示良好。

我想格式化某些列以货币格式显示。我已经阅读了一些与此相关的问题和答案,并且它们都使用绑定到列及其stringFormat属性。由于我没有在XAML中声明列,而是从我的B O自动读取网格,我正在寻找一种方法来改变后面的代码格式。像winforms中的DataGridView1.DefaultCellStyle.Format。

由于

编辑:

好的......如果不可能,XAML解决方案也欢迎。

1 个答案:

答案 0 :(得分:1)

另一个悬而未决的问题。呜咽呜咽。无论如何......经过几天的搜索和实验,我创建了一个数据模板并定义了一个CurrencyConverter:IValueConverter类:

    <local:CurrencyConverter x:Key="CC"/>
    <DataTemplate x:Key="CurrencyCellTemplate">
        <TextBlock Text="{Binding Converter={StaticResource CC}}"/>
    </DataTemplate>

用这个设置样式:

        foreach (int idx in moneyColumns) {
            var col = TheGrid.Columns[idx];
            col.CellHorizontalContentAlignment = HorizontalAlignment.Right;
            DataTemplate DT = FindResource("CurrencyCellTemplate") as DataTemplate;
            col.CellContentTemplate = DT;
        }

也许这种自我回答可以在将来帮助某人。