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

标签 wpf tabcontrol itemspanel itemspaneltemplate

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

显然,我遗漏了一些东西和 TabControl完全无视我放在 ItemsPanelTemplate 中的内容.

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

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

我试过更换 WrapPanelUniformGrid看看是否有区别,它的行为是否相同。我有一个 ControlTemplateTabItem ,但我尝试删除它并没有任何区别,所以我认为这不会影响我的问题。

最佳答案

您可能希望覆盖 Template ,而不是 ItemsPanel
您可以覆盖 TabControl.ItemTemplate (或 TabItem.Template )改变顶部标签的外观,TabControl.ContentTemplate更改用于选项卡内容的模板,或 TabControl.Template更改 TabControl 的整体模板。

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

关于wpf - 为什么我的 TabControl 忽略了我的 ItemsPanelTemplate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172964/

相关文章:

c# - WriteableBitmap(Ex) 与 DrawingContext 的性能对比

c# - 如何检索 WPF TabControl 的项目内容?

c# - 在 TabControl 的另一个选项卡中呈现内容控件

wpf - 将 HierarcicalDataTemplates 与 TreeViewItem 控件模板结合使用

c# - 如何在后面的代码中获取 ListBox ItemsPanel

windows-phone-8 - Longlistselector 控件中的 ItemsPanel 属性 Windows Phone 8 SDK

c# - wpf(离线)应用程序 c# 的更新问题

c# - 非常简单的 WPF 表单数据验证 - 怎么做?

c# - WPF 中的空间填充工具栏项

android - React Native - TabNavigator 在 Android 中的 ScrollView 中不工作