TabControl位置TabItems

时间:2018-04-02 09:44:57

标签: c# wpf xaml

我有TabControl。 我想要向左移动标签,但带内容的窗口不应改变大小。

enter image description here

结果:

enter image description here

我的代码:

<controls:TabControl Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" x:Name="MyTabControl" BorderBrush="Transparent" BorderThickness="0" Padding="0">
    <controls:TabControl.Resources>
        <DataTemplate x:Key="ClosableTabItem">
            <StackPanel Orientation="Horizontal">
                <TextBlock x:Name="textBlockName" VerticalAlignment="Center" Text="{Binding}"/>
                <HyperlinkButton Margin="6,0,0,0" x:Name="tabItemClose" VerticalAlignment="Center"
                                            Click="tabItemClose_Click">
                </HyperlinkButton>
            </StackPanel>
        </DataTemplate>
    </controls:TabControl.Resources>
    <controls:TabItem Header="Main" x:Name="MainTabItem" ToolTipService.ToolTip="Main" >
    </controls:TabItem>
</controls:TabControl>

1 个答案:

答案 0 :(得分:0)

我不会真的发布很多XAML的答案,而是我会给你一些关于你能做些什么的基本想法:)

1.在每个tabitem旁边,只需添加一个网格并创建两列。在中间列中放置每个必需元素,并确保设置Grid的{​​{1}}和HorizontalAlignmentVerticalAlignment

enter image description here

  1. 您可以自定义tabcontrol的模板,并设置Stretch / TabPenl所需的宽度/页边距。
  2. 我认为1是迄今为止最简单的解决方案,如果你想使用2,请留言,我会添加一些有用的ContentPresenter

    希望这会有所帮助:)