gpt4 book ai didi

c# - 防止 TabControl 中的 TabItems 重新定位?

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

在 WPF 中,是否有一种简单的方法可以阻止 TabControl 中的 TabItem 在所选 TabItem 更改时重新定位?因此,单击 TabItem 只会显示其内容,但不会像通常那样重新定位 TabItem(通过将选定的 TabItem 移动到选项卡的底行,如果它不在那里的话)。

编辑:为了澄清,我确实希望选项卡显示在多行中,我只是不希望在选择底行以外的一行中的 TabItem 时重新定位选项卡标题。我希望 header 集合保持完全静态,但要在单击其 header 时仍显示该 TabItem 的内容。

谢谢!

最佳答案

我知道已经晚了,但我今天必须解决这个问题,所以开始吧。

基本上,您需要为选项卡控件创建自己的控件模板,并使用不同的面板来包含您的选项卡项。

这是一个使用 WrapPanel 的简化示例。

<Style TargetType="TabControl" x:Key="MyTabControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<Grid SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WrapPanel x:Name="HeaderPanel" HorizontalAlignment="Center" VerticalAlignment="Top" IsItemsHost="true"
Grid.Row="0" KeyboardNavigation.TabIndex="1" />
<ContentPresenter Grid.Row="1" x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="10" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>

然后按如下方式使用它

 <TabControl Style="{StaticResource MyTabControl}" ....

您可以下载控件模板示例here

关于c# - 防止 TabControl 中的 TabItems 重新定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810535/

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