Я пытаюсь сделать столбец в WPF DataGrid для отображения валюты в следующем формате:WPF DataGrid валюты форматированием конвертер
value <= 9999, display format set to $1,234;
value <= 99999, display format set to $12k;
value >99999, display format set to $12M;
Кроме того, я должен был бы иметь функцию, пользователь может видеть фактическое значение и отредактируйте значение при щелчке мышью.
Я пытался получить концепцию IValueConverter, но не смог получить рабочий код.
Может кто-нибудь помочь?
Обновление: с ответом Рамина, он частично работает. Вот код:
public class DollarConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
double v = double.Parse(value.ToString());
if (v <= 9999)
{
return v.ToString("C0");
}
else if (v <= 999999)
{
double vv = v/1000;
return vv.ToString("C0") + "K";
}
else if (v > 99999)
{
double vvv = v/1000000;
return vvv.ToString("C0") + "M";
}
return v;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
в WPF: Binding="{Binding LBRRev, Converter={StaticResource DollarConverter}}"
Посмотрите на эту ссылку: https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx – Ron
Спасибо .... см. Мои обновления. Все еще не удалось заставить его работать – khuang
см. Http://www.wpf-tutorial.com/data-binding/value-conversion-with-ivalueconverter/ – Ron