为什么我的TabControl忽略了我的ItemsPanelTemplate?

Ash*_*non 3 wpf tabcontrol itemspanel itemspaneltemplate

我已经使用了ItemsPanelTemplate其他控件,比如ListBox,所以我认为做同样的事情TabControl会很简单.

显然,我错过了一些东西而且TabControl完全无视我放置的内容ItemsPanelTemplate.

我有xaml,看起来有点像这样:

<TabControl TabStripPlacement="Right" ItemsSource="{Binding Components}">
     <TabControl.ItemsPanel>
          <ItemsPanelTemplate>
               <WrapPanel />
          </ItemsPanelTemplate>
     </TabControl.ItemsPanel>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

我已经尝试更换WrapPanel,UniformGrid看看是否有差异,它的行为相同.我确实有一个ControlTemplatefor TabItem,但我尝试删除它并没有任何区别所以我认为这不会影响我的问题.

Rac*_*hel 5

你可能想要覆盖Template,而不是ItemsPanel

您可以覆盖TabControl.ItemTemplate(或TabItem.Template)更改顶部选项卡的外观,TabControl.ContentTemplate更改用于选项卡内容的模板,或TabControl.Template更改TabControl的整体模板.

我甚至不知道TabControl有一个ItemsPanel.我只使用过ItemsControl,其中ItemsPanel会影响包含集合中项目的控件类型.如果TabControl具有该属性,我希望它只是因为它从某个基类继承它