Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF GridSplitter选项卡标题定位_C#_Wpf_Xaml_Grid_Tabcontrol - Fatal编程技术网

C# WPF GridSplitter选项卡标题定位

C# WPF GridSplitter选项卡标题定位,c#,wpf,xaml,grid,tabcontrol,C#,Wpf,Xaml,Grid,Tabcontrol,我的应用程序中有以下网格结构: 3行/3列: 第0行第0列:包含3个TabItems的TabControl 第1行第0列:网格拆分器 第2行第0列:带3个TabItems的TabControl 第0行第1列:网格拆分器 第1行第1列:- 第2行第1列:网格拆分器 第0行第2列:任意控件 第1行第2列:网格拆分器 第2行第2列:任意控件 我希望两个TabHeader组在水平GridSplitter上方并排对齐 有人有什么想法吗?不知怎的,我被困在这里了…将下选项卡的上边距设置为负数,使其

我的应用程序中有以下网格结构:

  • 3行/3列:
    • 第0行第0列:包含3个TabItems的TabControl
    • 第1行第0列:网格拆分器
    • 第2行第0列:带3个TabItems的TabControl
    • 第0行第1列:网格拆分器
    • 第1行第1列:-
    • 第2行第1列:网格拆分器
    • 第0行第2列:任意控件
    • 第1行第2列:网格拆分器
    • 第2行第2列:任意控件
我希望两个TabHeader组在水平GridSplitter上方并排对齐


有人有什么想法吗?不知怎的,我被困在这里了…

将下选项卡的上边距设置为负数,使其延伸到网格中其位置的上方。将GridSplitter放置在其下方,将其设置为调整行大小并水平拉伸(我使用蓝色背景使其可见)



干得好,你赢了我。我确实稍微编辑了你的代码。我在代码中向上移动了
GridSplitter
,使其呈现在两个
TabControl
项之前,从而实现了OP所需的结果。这使得当所有内容都呈现在屏幕上时,
TabControl
标题显示在
GridSplitter
的“顶部”。@studbob,将GridSplitter放置在TabControl的上方将导致其阻塞并阻止其工作(我刚刚测试了它)。是的,我认为这很奇怪,但这正是OP在视觉上想要的。值得一提的是,它在功能上不起作用。
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition Width="10"></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition Height="10"></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>

    <!-- Set the GridSplitter's ResizeDirection to Rows, and its HorizontalAlignment to Stretch -->
    <GridSplitter Grid.Row="1" Grid.Column="0" Height="2" ResizeDirection="Rows" HorizontalAlignment="Stretch" Background="Blue"></GridSplitter>

    <!-- Place the upper TabControl's tabs on the bottom and aligned to the right. -->
    <TabControl Grid.Column="0" Grid.Row="0" TabStripPlacement="Bottom">
        <TabControl.Resources>
            <Style TargetType="TabPanel">
                <Setter Property="HorizontalAlignment" Value="Right"/>
            </Style>
        </TabControl.Resources>
        <TabItem Header="Item 1"></TabItem>
        <TabItem Header="Item 2"></TabItem>
        <TabItem Header="Item 3"></TabItem>
    </TabControl>    

    <!-- Set the lower TabControl's top margin to -30 to extend up out of its location in the grid. -->
    <TabControl Grid.Column="0" Grid.Row="2" Margin="0, -30, 0, 0">
        <TabItem Header="Item 1"></TabItem>
        <TabItem Header="Item 2"></TabItem>
        <TabItem Header="Item 3"></TabItem>
    </TabControl>


</Grid>