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列:任意控件
有人有什么想法吗?不知怎的,我被困在这里了…将下选项卡的上边距设置为负数,使其延伸到网格中其位置的上方。将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>