0
小數數量可變我創建了一個ValueConverter Double
和String
之間,使我的文本框小數位的給定數。在雙爲String ValueConverter
雖然我需要能夠將一個整數作爲參數傳遞給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
參數傳遞的整數,並用它作爲字符串格式化表達式的小數號碼是多少?」
而你的問題是......? –
爲什麼有一個轉換器呢?您可以使用[的StringFormat(http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat.aspx)屬性。 – Clemens
爲什麼你需要轉換器......你爲什麼不直接綁定指定的StringFormat? – Nitin