【问题标题】:WPF Formatting Currency Column from code behind来自后面代码的 WPF 格式化货币列
【发布时间】:2013-02-26 19:41:46
【问题描述】:

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

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

谢谢

编辑:

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

【问题讨论】:

    标签: wpf datagrid


    【解决方案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;
            }
    

    也许这个自我回答可以帮助将来的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 2011-06-27
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多