Старый вопрос, на который вы ссылаетесь, все еще применяет шаблон данных к конкретному классу. У вас возникнет та же проблема, если вы попытаетесь применить шаблон данных к абстрактному классу. Ничто не мешает вам использовать интерфейсы - вам просто нужно связать шаблон данных с конкретной реализацией этого интерфейса.
Проблема заключается в том, что WPF использует тип среды выполнения для разрешения шаблона.