Мне нужно использовать ControlTemplate и DataTemplate одновременно - я думаю.
У меня есть TabControl, чьи TabItems предоставляются ObservableCollection - я могу создавать элементы ObservableCollection в любом случае по своему выбору.
TabItems нужно использовать ControlTemplate, потому что они имеют выбранное, невыбранное и отключенное состояние, поэтому им нужно иметь триггеры событий для переключения состояний - на выбранной вкладке есть кнопка оранжевого стекла, а на невыбранных вкладках есть синяя стеклянная кнопка. Каждая вкладка должна иметь значок (изображение), который находится внутри соответствующей стеклянной кнопки, а также метку вкладки, которая отличается для каждой вкладки и которая предоставляется ObservableCollection.
Если я правильно понимаю, можно использовать либо ControlTemplate, либо DataTemplate, но не оба на одном и том же уровне визуального дерева.
Единственное потенциальное решение, о котором я могу подумать, - это определить один ContentPresenter в шаблоне TabItem ControlTemplate - ContentPresenter (с изображением и меткой) будет определен DataTemplate, который получит данные из ObservableCollection.
Будем благодарны за любые указания, предложения и / или исправления в моем понимании.