Наиболее распространенный способ, с которым я столкнулся, указать преобразователь значений для привязки:
1. Создайте экземпляр преобразователя значений в качестве ресурса с ключом.
2. Ссылка экземпляр с помощью расширения разметки StaticResource:WPF: альтернативный способ указания ValueConverter при привязке
<TextBlock Text="{Binding Converter={StaticResource myFormatter}" />
Q: Есть ли что-нибудь неправильно с использованием статического экземпляра следующим образом:
<TextBlock Text="{Binding Path=Description, Converter={x:Static local:MyFormatter.Instance}}"/>
// where Instance is declared as:
public readonly static MyFormatter Instance = new MyFormatter();
В моем преобразователе случае значения неизменна.
Edit: другой путь to turn the converter into an extension так, что вы задаете преобразователь используя формат расширения разметки:
<TextBlock Text="{Binding Converter={local:MyFormatter}}"/>
Примечание: когда вы превращаете конвертер в расширение, объект создается каждый раз, когда к нему обращаются. – xmedeko