Здравствуйте, Shmj, Вы писали:
S>Получается, что никакого реального преимущества, кроме хайпа, нет :xz:
Ни так, ни эдак делать не нужно. И декларативное vs. императивное тут ни при чём.
Конвертер не нужен. Потому что ViewModel — это и есть конвертер на стероидах. Должна быть привязка к свойству во вью-модели того же типа, что требуется для GUI. А уж внутри этого свойства мапь из низлежащих данных хоть императивно, хоть декларативно. На внешнем уровне всё останется декларативным.
Вместо этого:
<Window.Resources>
<local:DateBacklightConverter x:Key="dateBacklightConverter" />
</Window.Resources>
<TextBox Text="{Binding Date}" Background="{Binding Source=Date,Converter={StaticResource dateBacklightConverter}}" />
останется это:
<TextBox Text="{Binding DateString}" Background="{Binding DateColor}" />