Wpf 在不同位置设置TabItem标题
你是怎么做到的 我想创建选项选项卡,它位于左下角 但是不知道如何更改Tab2标题的位置Wpf 在不同位置设置TabItem标题,wpf,xaml,Wpf,Xaml,你是怎么做到的 我想创建选项选项卡,它位于左下角 但是不知道如何更改Tab2标题的位置 <Grid> <TabControl TabStripPlacement="Left"> <TabControl.Resources> <Style TargetType="TabItem"> <Setter Property=&quo
<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>
最简单的解决方案是插入一个不可见的假人
TabItem
,其高度与最后一个TabItem
之前的间隙相匹配
您可以在designer中或在运行时通过以下方法设置其高度
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;
}
void SetDummyTabItemHeight(TabItem dummyItem)
{
var tabPanel=(tabPanel)VisualTreeHelper.GetParent(dummyItem);
var otherItemsActualHeight=tabPanel.Children
.Cast()
.其中(x=>x!=dummyItem)
.Sum(x=>x.实际高度);
dummyItem.Height=tabPanel.ActualHeight-otherItemsActualHeight;
}
你能发布代码的当前状态吗?@user1239299 EditedI我知道没有比这更优雅的方法了?我不知道任何其他简单的解决方案,但你可以在参考源代码中深入研究TabItem
和TabPanel
源代码。非常感谢你,我将使用这种方法