【发布时间】:2020-08-01 20:19:10
【问题描述】:
我有以下带有 2 个默认 tabitems 的 TabControl。
<TabControl>
<TabControl.ItemTemplate>
<DataTemplate>
<ScrollViewer VerticalScrollBarVisibility="Auto" Height="300" Content="{Binding}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabItem Header="Conexión"><local:ConnectionSettings/></TabItem>
<TabItem Header="Cuestionario"><local:QuestionEditor/></TabItem>
</TabControl>
当前的 xaml 不应用 ItemTemplate,为此,每个 tabitem 都需要“裸”,如下所示:
<TabControl>
<TabControl.ItemTemplate>
<DataTemplate>
<ScrollViewer VerticalScrollBarVisibility="Auto" Height="300" Content="{Binding}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<!-- The ItemTemplate is only applied if tabitems are not wrapped in TabItem tags -->
<local:ConnectionSettings/>
<local:QuestionEditor/>
</TabControl>
但是如果我这样做了,我就不能指定标题了。
我希望每个 TabItem 都被包裹在一个 ScrollViewer 中(在 ItemTemplate 中指定),但同时能够指定标题。
有没有办法将 ItemTemplate 应用于<TabItem Header="MyHeader"/> 标签?
【问题讨论】:
-
ItemTemplate应用于ItemsSource中的项目。添加TabItem会将其添加到Items而不是ItemsSource。您不能同时设置ItemsSource和Items。 -
every TabItem to be wrapped in a ScrollViewer是什么意思? TabItem 不能被包裹在另一个元素中,如果这样做,它们将不是 TabItems 并且 TabControl 将不支持它们。