Вы можете заставить код выполняться при расширении шаблона с помощью мастера. Мастер не должен иметь пользовательский интерфейс, но может заполнить словарь пар имя / значение. Затем значения можно подставить в шаблон.
В документации по Visual Studio SDK см. Раздел «Практическое руководство. Использование мастеров с шаблонами проектов». Я считаю, что вы также можете использовать мастера в шаблоне элемента.
Кроме того, взгляните на инструментарий автоматизации навигации, который предоставляет декларативный способ создания мастеров, среди многих других вещей.