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

时间:2011-02-02 16:03:14

标签: c# silverlight

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

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

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

谢谢!

3 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:0)

答案 2 :(得分:0)

我亲自向转换器添加静态方法,如下所示:

public static object Convert(object value)
{
    return new MyConverter().Convert(value, null, null, CultureInfo.CurrentCulture);
}

然后您可以在代码中使用此代码,如下所示:

MyConverter.Convert(valueToConvert);

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