mcpField
S
syncfusion-wpf-tab-splitter

syncfusion-wpf-tab-splitter

github.com/syncfusion设计与 UI5156 次安装1 周前更新
代码仓库

关于 syncfusion-wpf-tab-splitter

这份指南介绍 Syncfusion WPF TabSplitter 控件,可在标签组内安排顶部和底部面板。它面向构建分屏编辑器和双栏标签视图的开发者,并说明方向与面板显隐设置。

主要功能

  1. 01将标签项拆分为顶部和底部面板
  2. 02向各面板添加页面
  3. 03选择水平或垂直方向
  4. 04折叠或调整底部面板大小
  5. 05自定义标签颜色和主题

适用场景

  1. 01在编辑器中并排显示 XAML 与设计视图
  2. 02在标签内展示双栏内容
  3. 03组织多个分屏标签组

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-tab-splitter

安装后在 Claude Code 中输入/syncfusion-wpf-tab-splitter确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
appearance.md
getting-started.md
items-and-panels.md
orientation-and-layout.md

详细介绍

实现 WPF TabSplitter

TabSplitter 控件提供类似 Visual Studio 2008 的选项卡组拆分视图。它会在每个选项卡项中将内容分为顶部和底部面板,适用于拆分编辑器布局(例如 XAML + 设计视图)、双窗格内容查看器以及并排的选项卡面板。

所需程序集:

  • Syncfusion.Tools.WPF
  • Syncfusion.Shared.WPF

XAML 命名空间:

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

C# 命名空间:

using Syncfusion.Windows.Tools.Controls;

何时使用此技能

场景使用 TabSplitter
拆分编辑器,显示 XAML + 设计视图✅ 是
在选项卡中显示双窗格内容✅ 是
多个选项卡组各自包含拆分面板✅ 是
简单选项卡控件(不拆分)❌ 使用标准 TabControl
水平导航侧边栏❌ 使用 GroupBar 或 TreeNavigator

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • 程序集和 NuGet 设置
  • 通过 XAML 和 C# 添加 TabSplitter
  • 添加包含内容的 TabSplitterItem
  • 将 SplitterPage 添加到 TopPanelItems 和 BottomPanelItems
  • 通过 SfSkinManager 应用主题
项目与面板结构

📄 阅读: references/items-and-panels.md

  • TabSplitterItem:Header、TopPanelItems、BottomPanelItems
  • SplitterPage:Header、内容、IsSelectedPage
  • 折叠/展开底部面板(IsCollapsedBottomPanel)
  • 设置 BottomPanelHeight
  • 仅有一个子项时隐藏选项卡标题(HideHeaderOnSingleChild)
  • 在一个 TabSplitter 中使用多个 TabSplitterItem
方向与布局

📄 阅读: references/orientation-and-layout.md

  • 每个项的水平或垂直方向
  • 交换、折叠和展开行为概览
外观与主题

📄 阅读: references/appearance.md

  • MouseOverBackground、MouseOverForeground
  • SelectedBackground、SelectedForeground
  • SfSkinManager 内置主题
  • 使用 ThemeStudio 创建自定义主题

快速入门示例

包含一个拆分选项卡的最简 TabSplitter(XAML):

<Window x:Class="MyApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <syncfusion:TabSplitter Name="tabSplitter" Height="300" Width="500">
            <syncfusion:TabSplitterItem Header="Window1.xaml">
                <syncfusion:TabSplitterItem.TopPanelItems>
                    <syncfusion:SplitterPage Header="XAML">
                        <TextBlock Text="XAML View" HorizontalAlignment="Center"
                                   VerticalAlignment="Center" />
                    </syncfusion:SplitterPage>
                </syncfusion:TabSplitterItem.TopPanelItems>
                <syncfusion:TabSplitterItem.BottomPanelItems>
                    <syncfusion:SplitterPage Header="Design">
                        <TextBlock Text="Design View" HorizontalAlignment="Center"
                                   VerticalAlignment="Center" />
                    </syncfusion:SplitterPage>
                </syncfusion:TabSplitterItem.BottomPanelItems>
            </syncfusion:TabSplitterItem>
        </syncfusion:TabSplitter>
    </Grid>
</Window>

对应的 C# 示例:

TabSplitter tabSplitter = new TabSplitter();

SplitterPage topPage = new SplitterPage() { Header = "XAML" };
SplitterPage bottomPage = new SplitterPage() { Header = "Design" };

TabSplitterItem item = new TabSplitterItem() { Header = "Window1.xaml" };
item.TopPanelItems.Add(topPage);
item.BottomPanelItems.Add(bottomPage);

tabSplitter.Items.Add(item);
grid.Children.Add(tabSplitter);

常见模式

多个选项卡组
<syncfusion:TabSplitter>
    <syncfusion:TabSplitterItem Header="Window1.xaml">
        <syncfusion:TabSplitterItem.TopPanelItems>
            <syncfusion:SplitterPage Header="XAML" />
        </syncfusion:TabSplitterItem.TopPanelItems>
        <syncfusion:TabSplitterItem.BottomPanelItems>
            <syncfusion:SplitterPage Header="Design" />
        </syncfusion:TabSplitterItem.BottomPanelItems>
    </syncfusion:TabSplitterItem>
    <syncfusion:TabSplitterItem Header="Window2.xaml">
        <syncfusion:TabSplitterItem.TopPanelItems>
            <syncfusion:SplitterPage Header="XAML" />
        </syncfusion:TabSplitterItem.TopPanelItems>
        <syncfusion:TabSplitterItem.BottomPanelItems>
            <syncfusion:SplitterPage Header="Design" />
        </syncfusion:TabSplitterItem.BottomPanelItems>
    </syncfusion:TabSplitterItem>
</syncfusion:TabSplitter>
启动时折叠底部面板
<syncfusion:TabSplitterItem Header="Window1.xaml" IsCollapsedBottomPanel="True">
    ...
</syncfusion:TabSplitterItem>
垂直拆分布局
<syncfusion:TabSplitterItem Header="Window1.xaml" Orientation="Vertical">
    ...
</syncfusion:TabSplitterItem>

关键属性

属性所属对象类型说明
HeaderTabSplitterItemobject选项卡标题文本
TopPanelItemsTabSplitterItem集合顶部面板中的页面
BottomPanelItemsTabSplitterItem集合底部面板中的页面
OrientationTabSplitterItemOrientationHorizontal(默认)或 Vertical
IsCollapsedBottomPanelTabSplitterItembool折叠底部面板(默认值:false)
HeaderSplitterPageobject页面的选项卡标题
IsSelectedPageSplitterPagebool将此页面设为选中状态
BottomPanelHeightTabSplitterdouble底部面板的高度
HideHeaderOnSingleChildTabSplitterbool仅有一个项时隐藏选项卡标题
SelectedBackgroundTabSplitterBrush选中选项卡的背景
SelectedForegroundTabSplitterBrush选中选项卡的前景色
MouseOverBackgroundTabSplitterBrush悬停时的背景
MouseOverForegroundTabSplitterBrush悬停时的前景色

评论

支持 Markdown