На самом деле Мозер прав,
DataTemplates работают с объектами данных .. ControlTemplates для хорошо .. управления ...
Если ваш DataTemplate для, скажем, объектов Car, используйте пример Mosers, например:
myControl.Resources.Add(typeof(Car), dataTemplate);
Установите объект Car в DataContext элемента управления, который должен использовать этот DataTemplate, et voila:)
Или вы всегда можете составить свой собственный ключ:
myControl.Resources.Add("MyAwesomeDataTemplate", dataTemplate);
А затем установите свойство Template следующим образом:
Template="{StaticResource MyAwesomeDataTemplate}"