我在 和 之间创建了一个 ValueConverter Double
,String
以便我的文本框具有给定的小数位数。
不过,我需要能够将整数作为参数传递给 ValueConverter 方法,这样我就可以在任何给定的文本框上使用不同的小数位数,同时使用相同的转换器。
我的转换器代码在这里:
[ValueConversion(typeof(Double), typeof(String))]
public class DoubleToStringPontoVirgula : IValueConverter {
// Converte um double em uma string separada por vírgula com tantas casas depois da vírgula
public object Convert(object value,
Type targetType,
object parameter, // I would like to use this!!
System.Globalization.CultureInfo culture) {
string resultado = string.Format("{0:0.0}", // Shouldn't be a hardcoded format!
value);
return resultado;
}
// Converte uma string separada por ponto OU vírgula em um double
public object ConvertBack(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture) {
string entrada = value as string;
double resultado = System.Convert.ToDouble(entrada.Replace('.', ','));
return resultado;
}
}
在 XAML 中,我想像这样传递参数(以“2”个位置为例):
<TextBox Text="{Binding Peso, Converter={StaticResource DoubleToStringPontoVirgula}, ConverterParameter=2}"/>
问题是:“我怎样才能将作为parametar
参数传递的整数用作字符串格式化表达式中的小数位数?”