我有一个C#Silverlight应用程序.在这个应用程序中,我已经定义了一个我在XAML中使用的值转换器.我遇到了一种情况,我需要以编程方式在我的代码后面使用这个值转换器.我的问题是,我该怎么做?在XAML中,我正在使用我的值转换器,如下所示:
<TextBlock x:Name="myTextBlock" Text="{Binding Mode=OneWay, Path=FirstName, Converter={StaticResource myConverter}, ConverterParameter=NotSet}" />
Run Code Online (Sandbox Code Playgroud)
如何在我的代码隐藏中使用此转换器?
谢谢!
Job*_*Joy 12
如果您只想在后面的代码中显式调用转换器,只需像使用其他类一样使用转换器类,并使用适当的参数调用其Convert()方法
YourConverter conv = new YourConverter();
conv.Convert(...)
Run Code Online (Sandbox Code Playgroud)
我个人向转换器添加了一个静态方法,如下所示:
public static object Convert(object value)
{
return new MyConverter().Convert(value, null, null, CultureInfo.CurrentCulture);
}
Run Code Online (Sandbox Code Playgroud)
然后您可以在代码中使用它,如下所示:
MyConverter.Convert(valueToConvert);
Run Code Online (Sandbox Code Playgroud)
您甚至可以在返回之前更改返回类型并转换结果以简化使用。