我需要同时使用 ControlTemplate 和 DataTemplate - 我想。
我有一个 TabControl,它的 TabItems 由 ObservableCollection 提供 - 我可以根据自己的选择设计 ObservableCollection 项目。
TabItems 需要使用 ControlTemplate,因为它们具有选中、未选中和禁用状态,因此它们需要有事件触发器来切换状态 - 选中的标签有一个橙色玻璃按钮,未选中的标签有一个蓝色玻璃按钮. 每个选项卡都需要有一个位于相应玻璃按钮内的图标(图像)以及一个选项卡标签,每个选项卡都不同,由 ObservableCollection 提供。
如果我理解正确,可以使用 ControlTemplate 或 DataTemplate 但不能同时使用同一可视树级别。
我能想到的唯一可能的解决方案是在 TabItem ControlTemplate 中定义一个 ContentPresenter - ContentPresenter(带有图像和标签)将由 DataTemplate 定义,该 DataTemplate 将从 ObservableCollection 接收数据。
我的理解中的任何指示、建议和/或更正将不胜感激。