4

ItemsPanelTemplate在其他控件(例如 )上使用过ListBox,所以我认为对 做同样的事情TabControl会很简单。

显然,我遗漏了一些东西,并且TabControl完全忽略了我在ItemsPanelTemplate.

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

<TabControl TabStripPlacement="Right" ItemsSource="{Binding Components}">
     <TabControl.ItemsPanel>
          <ItemsPanelTemplate>
               <WrapPanel />
          </ItemsPanelTemplate>
     </TabControl.ItemsPanel>
</TabControl>

我尝试替换WrapPanelUniformGrid以查看是否存在差异并且其行为相同。我确实有一个ControlTemplatefor TabItem,但我尝试删除它并没有任何区别,所以我认为这不会影响我的问题。

4

1 回答 1

6

您可能希望覆盖Template,而不是ItemsPanel

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

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

于 2011-11-17T19:30:03.930 回答