Спасибо всем за ответы. Остановился пока на конверторах.
Но возникло еще пару проблем
1) Возможно ли в xaml добавление ресурсных объектов в коллекции внутри xaml т.е. надо не просто SomeProperty = {StaticResource/DynamicResource SomeResourceKey}, а еще
и
<Foo1>
<Foo1.Foo2Collection>
<Foo2/>
<Foo2/>
...
как то сосляться на объектные ресурс
...
<Foo2/>
</Foo1.Foo2Collection>
</Foo1>
?
и вообще можно ли как нибудь в xaml производить изменение пропертей ресурсных объектов не при их инициализации.(или как нибудь параметризовать ресурсные объекты)
В идеале хочется вынести DataTrigger'с в ресурсы с передачей им например имен пропертей Value которых в них будет проверяться (сделать библиотеку триггеров)
А после этого делать стили с заполнением коллекции тригеров из библиотеки триггеров (и передачей им имен пропертей которые должны использоваться при сравнении с Value)
Всем спасибо за помощь