gpt4 book ai didi

wpf - 在 WPF TabControl 上 - 我可以在选项卡标题旁边添加内容吗?

转载 作者:行者123 更新时间:2023-12-04 01:04:53 24 4
gpt4 key购买 nike

有没有一种简单的方法可以将另一个控件(即按钮)内联定位到 WPF 中选项卡标题的右侧?

在网络中,我会使用 float 或绝对定位来实现这一点。

这张图片中的红线是我想要达到的:
A control alongside of WPF Tabs
(来源:jonkragh.com)

谢谢!
乔恩

最佳答案

做到这一点的可靠方法是重新模板化 TabControl就像我对 ActiveAwareCommand sample 中的关闭按钮所做的那样:

<ControlTemplate x:Key="TabControlTemplate" TargetType="TabControl">
<Grid ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="ColumnDefinition0"/>
<ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition x:Name="RowDefinition0" Height="Auto"/>
<RowDefinition x:Name="RowDefinition1" Height="*"/>
</Grid.RowDefinitions>
<Grid Panel.ZIndex="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TabPanel Margin="2,2,2,0" x:Name="HeaderPanel" IsItemsHost="true" KeyboardNavigation.TabIndex="1"/>
<Button Grid.Column="1" Command="{Binding DataContext.CloseCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">X</Button>
</Grid>
<Border x:Name="ContentPanel" Grid.Column="0" Grid.Row="1" BorderBrush="#D0CEBF" BorderThickness="0,0,1,1" KeyboardNavigation.DirectionalNavigation="Contained" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Border Background="{TemplateBinding Background}">
<Grid x:Name="PART_ItemsHolder"/>
</Border>
</Border>
</Border>
</Grid>
</ControlTemplate>

注意 TabPanelButton永远不能重叠。结果:

alt text

关于wpf - 在 WPF TabControl 上 - 我可以在选项卡标题旁边添加内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1423533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com