在Silverlight中以编程方式使用C#中的值转换器
我有一个C#Silverlight应用程序。在这个应用程序中,我定义了一个在XAML中使用的值转换器。我遇到了一种情况,需要在代码隐藏中以编程方式使用此值转换器。我的问题是,我该怎么做?在XAML中,我使用的值转换器如下:在Silverlight中以编程方式使用C#中的值转换器,c#,silverlight,C#,Silverlight,我有一个C#Silverlight应用程序。在这个应用程序中,我定义了一个在XAML中使用的值转换器。我遇到了一种情况,需要在代码隐藏中以编程方式使用此值转换器。我的问题是,我该怎么做?在XAML中,我使用的值转换器如下: <TextBlock x:Name="myTextBlock" Text="{Binding Mode=OneWay, Path=FirstName, Converter={StaticResource myConverter}, ConverterParameter=
<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);
您甚至可以在返回之前更改返回类型并强制转换结果,以简化使用。我喜欢这个答案,因为它简化了调用,无需更新,也没有不必要的参数