2011-08-15 37 views
3

作爲解決方案重構的一部分,我必須將Converter移入依賴注入UI服務中。現在我的ValueConverter存在於一個實例中。早些時候,我定義了一個本地資源,併爲轉換器提到它,它像一個魅力一樣工作。如上所述重構後,我試圖在綁定到轉換器我的運氣,它只是說綁定不能完成轉換器。讀這個http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/d6a95f05-4338-44a4-a834-bbfe71e893ac/發現它的設計。綁定代碼中定義的轉換器

你能告訴我如何在xaml中指定我的轉換器,它存在於代碼背後的一個實例中(在後面的視圖代碼中說UIHelperService.FormatConverter)。

回答

3

如果轉換器可以實例之間共享,使它成爲一個靜態成員某處,然後....

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

如果它是一個實例成員,您可能需要手動設置的代碼 - 裝訂後面......但轉換器幾乎不應該是特定於實例的。相反,如果需要,可以使用ConverterParameters實現此行爲。

+0

非常感謝Robert!現在我已經使它成爲一個非實例特定的轉換器。因爲我不能讓我的依賴注入服務持有轉換器靜態實例。 – ioWint