
syncfusion-wpf-tabbed-mdi-form
Implement Syncfusion WPF DocumentContainer (Tabbed MDI Form) control for creating MDI and TDI interfaces. Use this skill when working with DocumentContainer, Multiple Document Interface (MDI), Tabbed Document Interface (TDI), or Visual Studio-style document management. Covers document windows, tab groups, window switchers, state persistence for document layouts, and dockable document windows in WPF applications.
- Installs
- 155
- 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-tabbed-mdi-form- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-wpf-tabbed-mdi-form automatically when relevant.
- 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 Syncfusion WPF DocumentContainer
The Syncfusion WPF DocumentContainer (Tabbed MDI Form) is a control for holding documents, controls, and panels within your application. It enables you to create both MDI (Multiple Document Interface) and TDI (Tabbed Document Interface) layouts, making it easy to build navigable applications similar to Visual Studio or modern IDE document management systems.
When to Use This Skill
Use the DocumentContainer control when you need to:
- Multi-document interfaces: Create applications that manage multiple documents simultaneously (like Visual Studio, Word, or Excel)
- Tabbed interfaces: Implement tab-based navigation for documents and panels
- MDI applications: Build traditional Multiple Document Interface applications with floating/resizable windows
- TDI applications: Create modern Tabbed Document Interface applications with pinnable tabs
- Document management: Handle multiple views, editors, or panels within a single application window
- Window switching: Enable easy navigation between multiple documents using keyboard shortcuts (CTRL+TAB)
- State persistence: Save and restore document layouts, positions, and states across application sessions
- Professional layouts: Create applications with Visual Studio-style document management and window organization
Component Overview
Key Capabilities:
- Dual mode support: TDI (Tabbed) and MDI (Multiple Document) interfaces
- Five window switcher styles for navigation (Immediate, List, QuickTabs, VS2005, VistaFlip)
- Window state management (minimize, maximize, resize)
- Tab groups for organizing related documents
- Pin/unpin tabs for persistent vs temporary documents
- State persistence (Registry, XML, Binary, Isolated Storage)
- Full screen mode support
- Drag and drop customization
- Keyboard navigation and shortcuts
- Theme and skin support
Assembly Requirements:
- Syncfusion.Tools.WPF
- Syncfusion.Shared.WPF
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Assembly deployment and NuGet packages
- Adding DocumentContainer via designer or code
- Adding document windows to the container
- Setting headers for documents
- Basic TDI/MDI setup with complete examples
Container Modes (TDI vs MDI)
📄 Read: references/container-modes.md
- Understanding TDI (Tabbed Document Interface)
- Understanding MDI (Multiple Document Interface)
- Setting the Mode property
- When to use each mode
- Switching between modes at runtime
- Mode-specific features and behavior
Window Management
📄 Read: references/window-management.md
- Minimizing MDI windows (CanMDIMinimize property)
- Maximizing MDI windows
- Setting window states (Normal, Minimized, Maximized)
- Resizing windows and setting MDI bounds
- Keyboard-based window resizing
- Window arrangement patterns
Tab Management
📄 Read: references/tab-management.md
- Adding and removing document items
- Creating and organizing tab groups
- Pin and unpin tabs
- Tab navigation and ordering
- Dynamic tab management
- Items collection operations
Window Switchers
📄 Read: references/window-switchers.md
- CTRL+TAB navigation overview
- SwitchMode property and options
- Immediate, List, QuickTabs modes
- VS2005 and VistaFlip modes
- Choosing the right switcher for your application
- Keyboard shortcuts for window navigation
State Persistence
📄 Read: references/state-persistence.md
- SaveDockState and LoadDockState methods
- Saving to Registry (Binary/SOAP formatter)
- Saving to Isolated Storage
- Saving to XML files
- Saving to Binary files
- Resetting and deleting states
- Best practices for state management
Customization and Styling
📄 Read: references/customization.md
- Setting document headers
- Custom header templates
- Theme and skin support
- Visual customization options
- Container appearance styling
- Custom layouts
Advanced Features
📄 Read: references/advanced-features.md
- Full screen mode
- Disabling drag and drop
- MDI window arrangement
- Event handling
- Integration with DockingManager
- Performance optimization
- Troubleshooting common issues
Quick Start
Basic TDI Implementation
<Window 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="DocumentContainer Demo" Height="600" Width="800">
<Grid>
<!-- DocumentContainer in TDI mode -->
<syncfusion:DocumentContainer x:Name="documentContainer" Mode="TDI">
<!-- Document 1 -->
<FlowDocumentScrollViewer syncfusion:DocumentContainer.Header="Document 1">
<FlowDocument>
<Paragraph>Content of Document 1</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
<!-- Document 2 -->
<FlowDocumentScrollViewer syncfusion:DocumentContainer.Header="Document 2">
<FlowDocument>
<Paragraph>Content of Document 2</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
<!-- Document 3 -->
<FlowDocumentScrollViewer syncfusion:DocumentContainer.Header="Document 3">
<FlowDocument>
<Paragraph>Content of Document 3</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
</syncfusion:DocumentContainer>
</Grid>
</Window>
Basic MDI Implementation (C#)
using Syncfusion.Windows.Tools.Controls;
using System.Windows;
using System.Windows.Controls;
namespace DocumentContainerDemo
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Create DocumentContainer in MDI mode
DocumentContainer documentContainer = new DocumentContainer();
documentContainer.Mode = DocumentContainerMode.MDI;
documentContainer.SwitchMode = SwitchMode.VS2005;
// Add document windows
Button doc1 = new Button { Content = "Document 1 Content" };
Button doc2 = new Button { Content = "Document 2 Content" };
Button doc3 = new Button { Content = "Document 3 Content" };
// Set headers
DocumentContainer.SetHeader(doc1, "Document 1");
DocumentContainer.SetHeader(doc2, "Document 2");
DocumentContainer.SetHeader(doc3, "Document 3");
// Add to container
documentContainer.Items.Add(doc1);
documentContainer.Items.Add(doc2);
documentContainer.Items.Add(doc3);
// Set as window content
this.Content = documentContainer;
}
}
}
Common Patterns
Pattern 1: TDI with QuickTabs Switcher
Ideal for modern tabbed applications with Visual Studio-style navigation.
<syncfusion:DocumentContainer Name="DocContainer"
Mode="TDI"
SwitchMode="QuickTabs">
<!-- Add documents here -->
</syncfusion:DocumentContainer>
Pattern 2: MDI with Window Management
Enable minimize, maximize, and resize for traditional MDI applications.
<syncfusion:DocumentContainer Name="DocContainer"
Mode="MDI"
CanMDIMinimize="True"
SwitchMode="VS2005">
<!-- Add documents here -->
</syncfusion:DocumentContainer>
Pattern 3: State Persistence (XML)
Save and restore document layouts across sessions.
using System.Runtime.Serialization.Formatters.Binary;
// Save state to XML
BinaryFormatter formatter = new BinaryFormatter();
documentContainer.SaveDockState(formatter, StorageFormat.Xml, @"layout.xml");
// Load state from XML
BinaryFormatter formatter = new BinaryFormatter();
documentContainer.LoadDockState(formatter, StorageFormat.Xml, @"layout.xml");
Pattern 4: Dynamic Document Management
Add and remove documents programmatically.
// Add a new document
TextBox newDoc = new TextBox { Text = "New Document Content" };
DocumentContainer.SetHeader(newDoc, "New Document");
documentContainer.Items.Add(newDoc);
// Remove all documents
documentContainer.Items.Clear();
// Remove specific document
documentContainer.Items.Remove(newDoc);
Key Properties
| Property | Type | Description |
|---|---|---|
Mode | DocumentContainerMode | Sets TDI or MDI mode |
SwitchMode | SwitchMode | Window switcher style (Immediate, List, QuickTabs, VS2005, VistaFlip) |
CanMDIMinimize | bool | Enables MDI window minimization |
Items | ItemCollection | Collection of documents in the container |
Key Methods
| Method | Description |
|---|---|
SaveDockState() | Saves document state to storage (Registry, XML, Binary) |
LoadDockState() | Loads document state from storage |
ResetState() | Resets the container to default state |
DeleteDockState() | Deletes saved state from storage |
Items.Add() | Adds a document to the container |
Items.Clear() | Removes all documents from the container |
Common Use Cases
- Code Editors and IDEs: Create multi-document code editing environments with tabbed or MDI layouts
- Data Entry Applications: Manage multiple data entry forms simultaneously
- Document Viewers: Display multiple documents (PDF, images, text) in a tabbed interface
- Dashboard Applications: Organize multiple dashboard panels and charts
- Reporting Tools: Manage multiple report views and editors
- Configuration Tools: Handle multiple configuration panels or property editors
- Medical Applications: Manage patient records with multiple document views
- Financial Applications: Display multiple charts, reports, and data grids simultaneously
Next Steps: Choose the appropriate reference file above based on your specific implementation needs. Start with getting-started.md for initial setup, then explore specific features as needed.
FAQ
What does the syncfusion-wpf-tabbed-mdi-form skill do?
Implement Syncfusion WPF DocumentContainer (Tabbed MDI Form) control for creating MDI and TDI interfaces. Use this skill when working with DocumentContainer, Multiple Document Interface (MDI), Tabbed Document Interface (TDI), or Visual Studio-style document management. Covers document windows, tab groups, window switchers, state persistence for document layouts, and dockable document windows in WPF applications.
How do I install syncfusion-wpf-tabbed-mdi-form?
Run npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-tabbed-mdi-form 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-tabbed-mdi-form/ (personal) or .claude/skills/syncfusion-wpf-tabbed-mdi-form/ (project).
Which AI agents can use syncfusion-wpf-tabbed-mdi-form?
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-tabbed-mdi-form 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-tabbed-mdi-form?
It is published by syncfusion in syncfusion/wpf-ui-components-skills. It has 155 recorded installs.
More from syncfusion/wpf-ui-components-skills
syncfusion-wpf-theming
syncfusion/wpf-ui-components-skills
Implement and customize themes for Syncfusion WPF controls using SfSkinManager. Apply built-in themes (Windows 11, Fluent, Material, Office 2019), create custom themes with Theme Studio, and control visual effects like reveal animations and acrylic backgrounds. Use this skill whenever user needs to theme WPF applications, apply Syncfusion themes, customize colors/fonts, or configure theme-based visual effects and accessibility features.
syncfusion-wpf-datagrid
syncfusion/wpf-ui-components-skills
Implements Syncfusion WPF DataGrid (SfDataGrid) component for displaying and manipulating tabular data in Windows Presentation Foundation applications. Use this when working with data grids, table views, or data binding scenarios. Supports sorting, filtering, grouping, editing, Excel/PDF export, drag and drop, master-detail views, summaries, and extensive styling options.
syncfusion-wpf-carousel
syncfusion/wpf-ui-components-skills
Implements the Syncfusion WPF Carousel for displaying items in rotating or custom path interfaces with navigation support. Use when building image carousels, rotating galleries, or custom-path item displays with templates and data binding.
syncfusion-wpf-combobox
syncfusion/wpf-ui-components-skills
Implement Syncfusion WPF ComboBoxAdv with multiselection, editable support, autocomplete, data binding, and token features. Use this when working with dropdown selection, multiselect dropdowns, editable dropdowns, or autocomplete in WPF. Covers tokens, watermarks, delimiters, custom item templates, and dropdown behavior configuration.
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.
syncfusion-wpf-getting-started
syncfusion/wpf-ui-components-skills
Comprehensive guide for setting up and getting started with Syncfusion WPF components in Windows Presentation Foundation applications. Covers installation methods (web installer, NuGet, offline installer), system requirements verification, adding controls to projects, configuring themes and localization, and troubleshooting setup issues. Use this skill when users need help with installing Syncfusion WPF, configuring NuGet packages, upgrading versions, or resolving setup and configuration problems.
Popular frontend & design skills
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-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.
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.
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.
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.