В ответе на вопрос StackOverflow Как можно использовать конвертеры WPF в шаблоне MVVM? Я узнал, что конвертеры значений не следует использовать в шаблоне MVVM, начиная с функциональность преобразователя значений должна обрабатываться самой ViewModel .
Это имеет смысл.
Но я помню, что читал, что вы не должны открывать элементы XAML для представления , а вместо этого открывать только наборы данных, которые представление затем связывает и отображает с использованием DataTemplates.
Однако конвертеры кажутся достаточно мощными (например, поскольку они используются в демонстрационной программе Шаблон MVVM , см. «Образец Messenger» после распаковки)), поскольку они могут преобразовывать объекты в объекты например Объекты сообщения в объекты FlowDocument, объекты Customer в объекты Visibility или пользовательские объекты Status в изображения и т. Д.
Таким образом, если ViewModel собирается взять на себя функциональность преобразователя значений , ему придется предоставить элементы и свойства XAML, такие как StackPanel, Visibility, Color, FlowDocument и т. Д., Верно ?
Кто-нибудь видит какую-либо причину, по которой ViewModel не должен предоставлять эти расширенные объекты XAML, как это делают конвертеры значений?