syncfusion-wpf-tabbed-mdi-form — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-wpf-tabbed-mdi-form (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
Use the DocumentContainer control when you need to:
Key Capabilities:
Assembly Requirements:
📄 Read: references/getting-started.md
📄 Read: references/container-modes.md
📄 Read: references/window-management.md
📄 Read: references/tab-management.md
📄 Read: references/window-switchers.md
📄 Read: references/state-persistence.md
📄 Read: references/customization.md
📄 Read: references/advanced-features.md
<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>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;
}
}
}Ideal for modern tabbed applications with Visual Studio-style navigation.
<syncfusion:DocumentContainer Name="DocContainer"
Mode="TDI"
SwitchMode="QuickTabs">
<!-- Add documents here -->
</syncfusion:DocumentContainer>Enable minimize, maximize, and resize for traditional MDI applications.
<syncfusion:DocumentContainer Name="DocContainer"
Mode="MDI"
CanMDIMinimize="True"
SwitchMode="VS2005">
<!-- Add documents here -->
</syncfusion:DocumentContainer>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");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);| 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 |
| 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 |
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.