我想使用 StringFormat 在 DataGrid 中显示我的数据。对象具有我想使用的格式字符串的属性...例如“{0:0.##} mmol/l”或“{0:0.##} mg/dl”来显示结果在不同的单位。
XAML:
<DataGrid ItemsSource="{Binding Results}">
<DataGrid.Columns>
<DataGridTextColumn Header="Value" Binding="{Binding Value, Converter={StaticResource stringFormatConverter}}" />
C# 中的转换器:
public class StringFormatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return string.Format("{0:0.##} mmol/l", value);
}
[...]
}
如何告诉转换器使用格式字符串,它是我绑定到的项目的属性,而不是当前版本的转换器中的格式字符串?
编辑:结果是 Result 的 ObservableCollection,看起来像
public class Result
{
public double Value {get; set; }
public string Key {get; set; }
public string FormatString {get; set; }
[...]
}