我正在使用xceed datagridcontrol,我认为它与DataGrid非常相似。 我使用Business Object类的ObservableCollection加载了网格行和列。到目前为止一切顺利,B O中的所有属性都自动翻译为网格列,所有行都显示良好。
我想格式化某些列以货币格式显示。我已经阅读了一些与此相关的问题和答案,并且它们都使用绑定到列及其stringFormat属性。由于我没有在XAML中声明列,而是从我的B O自动读取网格,我正在寻找一种方法来改变后面的代码格式。像winforms中的DataGridView1.DefaultCellStyle.Format。
由于
编辑:
好的......如果不可能,XAML解决方案也欢迎。
答案 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;
}
也许这种自我回答可以在将来帮助某人。