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

在Silverlight中以编程方式使用C#中的值转换器,c#,silverlight,C#,Silverlight,我有一个C#Silverlight应用程序。在这个应用程序中,我定义了一个在XAML中使用的值转换器。我遇到了一种情况,需要在代码隐藏中以编程方式使用此值转换器。我的问题是,我该怎么做?在XAML中,我使用的值转换器如下: <TextBlock x:Name="myTextBlock" Text="{Binding Mode=OneWay, Path=FirstName, Converter={StaticResource myConverter}, ConverterParameter=

我有一个C#Silverlight应用程序。在这个应用程序中,我定义了一个在XAML中使用的值转换器。我遇到了一种情况,需要在代码隐藏中以编程方式使用此值转换器。我的问题是,我该怎么做?在XAML中,我使用的值转换器如下:

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

如何在代码隐藏中使用此转换器


谢谢

如果您只想在代码隐藏中显式调用转换器,只需像使用任何其他类一样使用转换器类,并使用适当的参数调用其Convert()方法即可

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

我个人向转换器添加了一个静态方法,如下所示:

public static object Convert(object value)
{
    return new MyConverter().Convert(value, null, null, CultureInfo.CurrentCulture);
}
然后,您可以在如下代码中使用:

MyConverter.Convert(valueToConvert);

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

我喜欢这个答案,因为它简化了调用,无需更新,也没有不必要的参数