Если вы не выбираете из нескольких шаблонов, вам не нужно указывать тип данных в шаблоне. Если все объекты в вашем дереве реализуют ваш интерфейс, просто вставьте шаблон, используя свойства этого интерфейса, и все готово. Вам не нужно ничего делать в шаблоне, чтобы сделать его специфичным для этого интерфейса.
Если по какой-то причине вам нужно сделать выбор шаблона на основе того, какой интерфейс поддерживает объект, вам нужно реализовать селектор шаблона и решить проблему «многие к одному», которая мешает встроенному в WPF механизму выбора шаблона. от использования интерфейсов в первую очередь. (То есть, если у вас есть шаблон для IFoo
и один для IBar
, какой шаблон вы используете для объекта, который поддерживает IFoo
и IBar
?)