2

我正在通过后面的代码调用 IValueConverter 类,但我不确定要在Type targetType参数中放入什么。该对象是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);
    }
4

2 回答 2

5

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

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

于 2013-04-17T13:34:03.693 回答
2

你会想要

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

实际上使它成为 type 的参数Type

于 2013-04-17T13:35:20.820 回答