TabControl 怎么会这样
我想制作位于左下角的选项选项卡 但不知道如何更改 Tab2 的标题位置
<Grid>
<TabControl TabStripPlacement="Left">
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="Height" Value="50" />
<Setter Property="Width" Value="50" />
</Style>
</TabControl.Resources>
<TabItem>
<TabItem.Header>
<TextBlock Text="Tab1" />
</TabItem.Header>
<TabItem.Content>
<TextBlock Text="Tab1 content" />
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="Tab2" />
</TabItem.Header>
<TabItem.Content>
<TextBlock Text="Tab2 content" />
</TabItem.Content>
</TabItem>
</TabControl>
</Grid>
答案 0 :(得分:0)
最简单的解决方案是插入一个不可见的虚拟 TabItem
,其高度与最后一个 TabItem
之前的间隙相匹配。
<TabItem Visibility="Hidden"/>
您可以通过以下方法在设计器或运行时设置其高度。
void SetDummyTabItemHeight(TabItem dummyItem)
{
var tabPanel = (TabPanel)VisualTreeHelper.GetParent(dummyItem);
var otherItemsActualHeight = tabPanel.Children
.Cast<TabItem>()
.Where(x => x != dummyItem)
.Sum(x => x.ActualHeight);
dummyItem.Height = tabPanel.ActualHeight - otherItemsActualHeight;
}