在IValueConverter中的Type targetType参数中放入什么

时间:2013-04-17 13:32:52

标签: c# types windows-phone-8 ivalueconverter

我通过代码隐藏调用IValueConverter类,但我不确定在Type targetType参数中放入什么。对象是string,但使用它会给我'无效的表达术语'string'。

调用转换器的代码

secondConverter.Convert(score, string, null, CultureInfo.CurrentCulture);

转换器类

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        TimeSpan ts = new TimeSpan(0, 0, (int)value);

        return String.Format("{0:D2}:{1:D2}:{2:D2}",
                        ts.Hours,
                        ts.Minutes,
                        ts.Seconds);
    }

2 个答案:

答案 0 :(得分:5)

您可以放置​​typeof(string)而不是字符串,但您的转换器似乎没有使用或验证目标类型,因此您可以放置​​任何内容,包括null。

通常,您的转换器至少应验证目标类型是否为字符串,如果不是则抛出异常。

答案 1 :(得分:2)

你想要

secondConverter.Convert(score, typeof(string), null, CultureInfo.CurrentCulture);

实际上使它成为Type类型的参数。