我有使用轉換器和參數convrt雙到其他:雙「1/3」作爲ConverterParameter
這是我的XAML存根:
Converter={StaticResource ToOtherDoubleConverter}, ConverterParameter=-1/2
這是轉換器:
[ValueConversion(typeof(double), typeof(double))]
public class DoubleToOtherDoubleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
return (double)value * double.Parse(parameter.ToString());
}
現在,這是沒用的,說這是文化的依賴等。
有沒有一種方法來「硬編碼」一做能否被認定爲雙重? 由於上述變異可以用不同的方式,例如通過:
ConverterParameter=-1/2
ConverterParameter=-0.5
ConverterParameter=-0,5
etc.
或也
double.Parse(parameter.ToString());
(double)parameter;
等等
一個問題:
哪有我指定1/3
中的浮點格式?像
ConverterParameter=0.333333333333333333333333333333333333333333333333333333
你確定它正在傳過來的數值呢?根據我的經驗,大多數XAML值最終會以字符串的形式傳遞,即使它們看起來像數字一樣... – 2010-12-10 12:36:24
@Dan Puzey:作爲一般對象......最終可能是字符串,這就是爲什麼我要問,因爲不要不知道:) – serhio 2010-12-10 12:38:42
如果你在轉換器的第一行放置了一個斷點,你可以檢查'value.GetType()',看看它傳入的是什麼...... – 2010-12-10 12:41:44