我想要一个TabControl
,将一半的选项卡放在左侧,另一半放在右侧,并将内容呈现器放在中间。如下图所示:
我尝试编辑TabControl
的ControlTemplate
,用两个StackPanel
的DockPanel
替换TabPanel
,代码如下:
<TabControl ItemsSource="{Binding Sequences}" SelectedIndex="0">
<TabControl.Style>
<Style TargetType="TabControl">
<Setter Property="OverridesDefaultStyle"
Value="True" />
<Setter Property="SnapsToDevicePixels"
Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<DockPanel>
<StackPanel DockPanel.Dock="Left" IsItemsHost="True" Width="100"/>
<StackPanel DockPanel.Dock="Right" IsItemsHost="True" Width="100"/>
<ContentPresenter ContentSource="SelectedContent" Margin="100,5,5,5" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Style>
<!-- ... -->
</TabControl>
但是我在每一侧都得到了6个选项卡,左边的选项卡无法使用(没有标题,并且当我点击它们时,在内容呈现器上什么也不显示)。
我如何将 TabControl
的 ItemsSource
分割在我的两个 StackPanel 中?
<TabControl ItemsSource="{Binding testtab}" SelectedIndex="0">
,其中testtab是我的视图模型中等于{1,2,3,4}的列表),而不是在xaml中定义所有选项卡,那么我就可以在左侧看到所有的选项卡。我真的需要在我的TabControl中使用ItemsSource。 - Kantine