使用 C# 在 Silverlight 中以编程方式使用值转换器

8

我有一个C# Silverlight应用程序。在这个应用程序中,我定义了一个值转换器,并在XAML中使用它。现在我遇到了这样一种情况:我需要在我的代码后台程序中编程使用这个值转换器。我的问题是,我该如何做?在XAML中,我使用我的值转换器如下:

<TextBlock x:Name="myTextBlock" Text="{Binding Mode=OneWay, Path=FirstName, Converter={StaticResource myConverter}, ConverterParameter=NotSet}" />

我该如何在后台代码中使用这个转换器?

谢谢!

2个回答

16

如果你只想在代码后台中显式地调用转换器,那么就像使用其他类一样使用转换器类,并使用适当的参数调用其Convert()方法即可。

YourConverter conv = new YourConverter();
conv.Convert(...)

完美运行!谢谢! - Vasilije Bursac

9
我个人会将一个静态方法添加到转换器中,如下所示:
public static object Convert(object value)
{
    return new MyConverter().Convert(value, null, null, CultureInfo.CurrentCulture);
}

您可以在代码中使用它,如下所示:

MyConverter.Convert(valueToConvert);

您甚至可以更改返回类型并在返回之前将结果强制转换,以使使用更加简便。


1
我喜欢这个答案,因为它简化了调用过程,没有新建对象,也没有不必要的参数。 - Paulus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接