MCPInstall

syncfusion-wpf-tabcontrol

Create and manage WPF TabControl (TabControlExt) components for organizing content into tabs. Use this skill when users need to implement tabbed interfaces, manage tab selection, configure close buttons, handle tab interactions (clicking, keyboard navigation), customize tab appearance (orientation, placement), or bind tab data. Covers tab creation via XAML/C, tab item management, event handling, context menus, drag-and-drop reordering, and theming.

Installs
158
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-tabcontrol
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-wpf-tabcontrol automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing WPF TabControl (TabControlExt)

The TabControl (TabControlExt) is a powerful component for organizing application content into multiple tabs. It provides features like tab orientation, editable headers, pin/unpin functionality, context menus, and customizable close buttons, enabling developers to create flexible, organized tabbed interfaces.

When to Use This Skill

  • Creating tabbed interfaces: When you need to organize multiple content areas into a tab-based layout
  • Tab management: For handling tab item creation, deletion, selection, and manipulation
  • User interactions: When you need to respond to tab selection changes, tab closing, or tab navigation
  • Customization: For styling tabs (orientation, placement, themes), configuring close buttons, or adding icons
  • Data binding: When binding tab items to data sources or observable collections
  • Advanced features: For implementing context menus, drag-drop reordering, pin/unpin, or keyboard navigation

Component Overview

Key Capabilities:

  • Tab Orientation - Position tabs horizontally (top/bottom) or vertically (left/right)
  • Flexible Closing - Configure close button display (Common, Individual, Both, Extended, Hidden)
  • Tab Selection - Support for mouse, keyboard (Ctrl+Tab, Arrow keys), and programmatic selection
  • Editable Headers - Allow users to edit tab headers interactively
  • Pin/Unpin - Enable quick access to frequently used tabs
  • Context Menus - Built-in and custom context menu support
  • Data Binding - Bind tab items to data sources
  • Drag and Drop - Reorder tabs by dragging
  • Navigation - Tab list menu and scroll buttons for navigation
  • Theming - Rich set of built-in themes and customization options

Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and assembly references
  • Basic TabControl creation (XAML and C# approaches)
  • Adding TabItems with headers and content
  • Tab placement and orientation options
  • Assembly dependencies

Tab Interactions & Selection

📄 Read: references/tab-interactions.md

  • Tab selection (mouse, keyboard, programmatic)
  • SelectedItemChangedEvent for monitoring changes
  • Keyboard navigation (Ctrl+Tab, Arrow keys)
  • Tab list context menu for quick navigation
  • Getting selected item properties

Tab Closing & Button Configuration

📄 Read: references/closing-tabs.md

  • CloseButtonType options and display modes
  • Individual vs common close buttons
  • Disabling close on specific tabs (CanClose)
  • Hiding close buttons for particular tabs
  • Close button visibility states

Customization & Styling

📄 Read: references/customization.md

  • Editable tab headers
  • Tab orientation and placement variations
  • Layout modes (SingleLine, MultiLine, MultiLineWithFillWidth)
  • Pin/unpin functionality
  • Tab scrolling configuration
  • Built-in themes and theming support

Data Binding

📄 Read: references/data-binding.md

  • Binding TabControl items to data sources
  • Creating TabItems from data collections
  • Header and content templates
  • Observable collection patterns
  • TabItem data binding

Advanced Features

📄 Read: references/advanced-features.md

  • Context menu customization (tab-level and item-level)
  • Custom menu items and handlers
  • Tab reordering via drag and drop
  • New button feature (IsNewButtonEnabled)
  • Tab scrolling with navigation buttons
  • Localization support
  • New tab button events

Quick Start Example

Basic XAML TabControl

<Window x:Class="TabControlApp.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="TabControl Example" Height="450" Width="800">

    <Grid>
        <syncfusion:TabControlExt Name="tabControl" Height="100" Width="280">
            <syncfusion:TabItemExt Header="Tab 1">
                <TextBlock Text="Content of Tab 1" />
            </syncfusion:TabItemExt>
            <syncfusion:TabItemExt Header="Tab 2">
                <TextBlock Text="Content of Tab 2" />
            </syncfusion:TabItemExt>
            <syncfusion:TabItemExt Header="Tab 3">
                <TextBlock Text="Content of Tab 3" />
            </syncfusion:TabItemExt>
        </syncfusion:TabControlExt>
    </Grid>
</Window>

Basic C# Creation

using Syncfusion.Windows.Tools.Controls;

public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();

        // Create TabControl instance
        TabControlExt tabControlExt = new TabControlExt();
        tabControlExt.Height = 100;
        tabControlExt.Width = 280;

        // Create and add TabItems
        TabItemExt tabItem1 = new TabItemExt() 
        {
            Header = "Tab 1",
            Content = new TextBlock() { Text = "Content of Tab 1" }
        };

        TabItemExt tabItem2 = new TabItemExt() 
        {
            Header = "Tab 2",
            Content = new TextBlock() { Text = "Content of Tab 2" }
        };

        tabControlExt.Items.Add(tabItem1);
        tabControlExt.Items.Add(tabItem2);

        this.Content = tabControlExt;
    }
}

Common Patterns

Pattern 1: Responding to Tab Selection Changes

// Handle tab selection changes
tabControl.SelectedItemChangedEvent += TabControl_SelectedItemChangedEvent;

private void TabControl_SelectedItemChangedEvent(object sender, SelectedItemChangedEventArgs e)
{
    var newTabItem = e.NewSelectedItem.Header;
    var oldTabItem = e.OldSelectedItem?.Header ?? "None";
    MessageBox.Show($"Changed from {oldTabItem} to {newTabItem}");
}

Pattern 2: Configuring Close Buttons

<!-- Enable close buttons on both TabControl and TabItems -->
<syncfusion:TabControlExt CloseButtonType="Both" Name="tabControl">
    <syncfusion:TabItemExt Header="Tab 1" />
    <syncfusion:TabItemExt Header="Tab 2" CanClose="False" />
</syncfusion:TabControlExt>

Pattern 3: Changing Tab Orientation

<!-- Position tabs at the bottom -->
<syncfusion:TabControlExt TabStripPlacement="Bottom" Name="tabControl">
    <syncfusion:TabItemExt Header="Tab 1" />
    <syncfusion:TabItemExt Header="Tab 2" />
</syncfusion:TabControlExt>

Pattern 4: Adding a New Tab Button

<syncfusion:TabControlExt IsNewButtonEnabled="True" 
                          NewButtonClick="TabControl_NewButtonClick"
                          Name="tabControl" />
private void TabControl_NewButtonClick(object sender, EventArgs e)
{
    TabItemExt newItem = new TabItemExt() 
    {
        Header = $"Tab {tabControl.Items.Count + 1}",
        Content = new TextBlock() { Text = "New tab content" }
    };
    tabControl.Items.Add(newItem);
}

Pattern 5: Enabling Navigation with Scroll Buttons

<syncfusion:TabControlExt TabScrollButtonVisibility="Visible"
                          TabScrollStyle="Extended"
                          Name="tabControl" />

Key Properties

  • Items — Collection of TabItemExt objects
  • SelectedItem — Currently selected tab
  • TabStripPlacement — Position (Top, Bottom, Left, Right)
  • CloseButtonType — Close button display mode
  • IsNewButtonEnabled — Show/hide new tab button
  • ShowTabListContextMenu — Tab list navigation menu

Key Events

  • SelectedItemChangedEvent — Tab selection changed
  • TabItemClosing — Before tab closes (can cancel)
  • TabItemClosed — After tab closes

FAQ

What does the syncfusion-wpf-tabcontrol skill do?

Create and manage WPF TabControl (TabControlExt) components for organizing content into tabs. Use this skill when users need to implement tabbed interfaces, manage tab selection, configure close buttons, handle tab interactions (clicking, keyboard navigation), customize tab appearance (orientation, placement), or bind tab data. Covers tab creation via XAML/C, tab item management, event handling, context menus, drag-and-drop reordering, and theming.

How do I install syncfusion-wpf-tabcontrol?

Run npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-tabcontrol in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-wpf-tabcontrol/ (personal) or .claude/skills/syncfusion-wpf-tabcontrol/ (project).

Which AI agents can use syncfusion-wpf-tabcontrol?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-wpf-tabcontrol safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-wpf-tabcontrol?

It is published by syncfusion in syncfusion/wpf-ui-components-skills. It has 158 recorded installs.

More from syncfusion/wpf-ui-components-skills

View all →

syncfusion-wpf-theming

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design184 installs

syncfusion-wpf-datagrid

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design176 installs

syncfusion-wpf-carousel

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design164 installs

syncfusion-wpf-button

syncfusion/wpf-ui-components-skills

Implement Syncfusion WPF ButtonAdv controls for configurable button UIs. Use this when adding, configuring, or customizing a Syncfusion WPF ButtonAdv — including labels, icons, size modes, toggle/checkable behavior, MVVM command binding, multiline text, corner radius, IsDefault/IsCancel modes, icon templates, and themes.

Frontend & Design163 installs

syncfusion-wpf-combobox

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design163 installs

syncfusion-wpf-licensing

syncfusion/wpf-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design162 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs