Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF从代码隐藏中格式化货币列_Wpf_Datagrid - Fatal编程技术网

WPF从代码隐藏中格式化货币列

WPF从代码隐藏中格式化货币列,wpf,datagrid,Wpf,Datagrid,我使用的是xceed datagridcontrol,我认为它与DataGrid非常相似。 我使用业务对象类的ObservableCollection加载网格行和列。到目前为止还不错,BO中的所有属性都自动转换为网格列,行都显示良好 我想格式化一些列以货币格式显示。我已经阅读了一些与此相关的问题和答案,它们都使用绑定到列及其stringFormat属性。因为我不是在XAML中声明列,而是网格从我的BO中自动读取,所以我正在寻找一种从代码隐藏更改格式的方法。类似于winforms中的DataGri

我使用的是xceed datagridcontrol,我认为它与DataGrid非常相似。 我使用业务对象类的ObservableCollection加载网格行和列。到目前为止还不错,BO中的所有属性都自动转换为网格列,行都显示良好

我想格式化一些列以货币格式显示。我已经阅读了一些与此相关的问题和答案,它们都使用绑定到列及其stringFormat属性。因为我不是在XAML中声明列,而是网格从我的BO中自动读取,所以我正在寻找一种从代码隐藏更改格式的方法。类似于winforms中的DataGridView1.DefaultCellStyle.Format

谢谢

编辑:


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

另一个未回答的问题。呜咽呜咽。无论如何经过几天的搜索和实验,我创建了一个数据模板并定义了一个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;
        }