绑定后面代码中定义的转换器

时间:2011-08-15 20:17:56

标签: wpf xaml binding ivalueconverter

作为解决方案重构的一部分,我不得不将Converter转移到Dependency Injected UI服务。现在我的ValueConverter出现在一个实例中。早些时候,我已经定义了一个本地资源,并为转换器提到它,就像一个魅力。在提到重构之后,我在Binding to Converter中尝试了我的运气,它只是说Binding无法完成转换器。阅读此http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/d6a95f05-4338-44a4-a834-bbfe71e893ac/找到了它的设计。

请告诉我如何在xaml中指定我的转换器,它存在于后面代码中的实例中(比如后面的Views代码中的UIHelperService.FormatConverter)。

1 个答案:

答案 0 :(得分:3)

如果转换器可以在实例之间共享,那么在某处将其设为静态成员,然后......

{Binding Whatever Converter={x:Static src:MyClass.MyConverter}}

如果它是实例成员,您可能需要在代码隐藏中手动设置绑定...但转换器几乎不应该是特定于实例的。相反,如果需要,可以使用ConverterParameters来实现此行为。