Привязать конвертер, определенный в коде - PullRequest
3 голосов
/ 16 августа 2011

В рамках рефакторинга решения мне пришлось перевести конвертер в службу UI Dependency Injected. Теперь мой ValueConverter присутствует внутри экземпляра. Ранее я определил местный ресурс и упомянул его для конвертера, который работал как шарм. После рефакторинга, как уже упоминалось, я попытал счастья в Binding to Converter, и он просто сказал, что Binding не может быть выполнен для Converter. Чтение этого http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/d6a95f05-4338-44a4-a834-bbfe71e893ac/ нашло его по замыслу.

Подскажите, пожалуйста, как указать мой конвертер в xaml, который присутствует внутри экземпляра в коде позади (скажем, UIHelperService.FormatConverter в коде представлений позади).

1 Ответ

3 голосов
/ 16 августа 2011

Если конвертер можно использовать для нескольких экземпляров, сделайте его статическим элементом где-нибудь, а затем ....

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

Если это элемент экземпляра, вам может потребоваться вручную установить привязку в кодеза ... но конвертеры почти никогда не должны зависеть от конкретного экземпляра.Вместо этого вы можете использовать ConverterParameters для достижения этого поведения, если вам это нужно.

...