什么是在DataGrid中设置自定义列格式的最有效方法?我不能使用以下StringFormat,因为我的复杂格式化还取决于此ViewModel的其他某些属性。(例如,基于不同市场的价格格式化具有一些复杂的格式化逻辑。)
Binding ="{Binding Price, StringFormat='{}{0:#,##0.0##}'}"
public class FormatConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
// some error checking for values.Length etc
return String.Format(values[1].ToString(), values[0]);
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
<MultiBinding Converter="{StaticResource formatter}">
<Binding Path="Price" />
<Binding Path="PriceFormat" />
</MultiBinding>