syncfusion-wpf-tab-navigation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseImplementing TabNavigationControl (WPF)
实现TabNavigationControl(WPF)
When to Use This Skill
适用场景
Use this skill when the user needs to:
- Display pages or items with animated transition effects (slide, fade, zoom, blur, etc.)
- Build an ad-rotator or banner-style content switcher in WPF
- Create tab-based navigation with visual transition between content areas
- Bind a collection of items to an animated tab navigator
- Control visibility of the header strip, navigation buttons, or tab strip
- Switch between pages programmatically with transition animations
当用户需要以下功能时,可使用本技能:
- 展示带有动画过渡效果(滑动、淡入淡出、缩放、模糊等)的页面或项
- 在WPF中构建广告轮播或横幅式内容切换器
- 创建内容区域间带有视觉过渡效果的标签式导航
- 将项集合绑定到带动画的标签导航器
- 控制标题栏、导航按钮或标签栏的可见性
- 通过编程方式切换页面并附带过渡动画
Component Overview
组件概述
TabNavigationControl (root container)
└── TabNavigationItem (×N) (each page/item)
├── Header — tab label text
└── Content — page content (any UIElement)Assemblies: +
Namespace:
XAML schema:
Syncfusion.Tools.WPFSyncfusion.Shared.WPFNamespace:
Syncfusion.Windows.Tools.ControlsXAML schema:
http://schemas.syncfusion.com/wpfTabNavigationControl (根容器)
└── TabNavigationItem (×N) (每个页面/项)
├── Header — 标签文本
└── Content — 页面内容(任意UIElement)程序集: +
命名空间:
XAML架构:
Syncfusion.Tools.WPFSyncfusion.Shared.WPF命名空间:
Syncfusion.Windows.Tools.ControlsXAML架构:
http://schemas.syncfusion.com/wpfDocumentation and Navigation Guide
文档与导航指南
Getting Started
入门指南
📄 Read: references/getting-started.md
- Assembly references and NuGet package
- XAML namespace (syncfusion schema)
- Declarative control setup
- Adding TabNavigationItem in XAML and C#
- Themes with SfSkinManager
📄 阅读: references/getting-started.md
- 程序集引用与NuGet包
- XAML命名空间(syncfusion架构)
- 声明式控件设置
- 在XAML和C#中添加TabNavigationItem
- 使用SfSkinManager设置主题
Data Binding
数据绑定
📄 Read: references/data-binding.md
- Binding ObservableCollection via ItemsSource
- Binding from XML data source
- Model + ViewModel + MainWindow wiring
- XAML ItemsSource binding pattern
📄 阅读: references/data-binding.md
- 通过ItemsSource绑定ObservableCollection
- 从XML数据源绑定
- Model + ViewModel + MainWindow的关联配置
- XAML ItemsSource绑定模式
Transition Effects
过渡效果
📄 Read: references/transition-effects.md
- All 7 TransitionEffect values: Slide, Fade, Zoom, Blur, Push, PushIn, Wipe
- XAML example per effect
- When to choose each effect
- Decision guide
📄 阅读: references/transition-effects.md
- 全部7种TransitionEffect枚举值:Slide、Fade、Zoom、Blur、Push、PushIn、Wipe
- 每种效果的XAML示例
- 各效果的适用场景
- 选择指南
Appearance
外观自定义
📄 Read: references/appearance.md
- — show/hide the header tab strip
HeaderVisibility - — show/hide prev/next arrows
NavigationButtonVisibility - — show/hide the tab strip panel
TabStripVisibility - XAML and C# examples
📄 阅读: references/appearance.md
- — 显示/隐藏标题标签栏
HeaderVisibility - — 显示/隐藏上一页/下一页箭头
NavigationButtonVisibility - — 显示/隐藏标签栏面板
TabStripVisibility - XAML和C#示例
Quick Start
快速开始
xaml
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
<syncfusion:TabNavigationControl x:Name="tabNavigation"
TransitionEffect="Slide"
Width="400" Height="300">
<syncfusion:TabNavigationItem Header="Page 1">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 1" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
<syncfusion:TabNavigationItem Header="Page 2">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 2" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
<syncfusion:TabNavigationItem Header="Page 3">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 3" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
</syncfusion:TabNavigationControl>csharp
using Syncfusion.Windows.Tools.Controls;
TabNavigationControl tabNavigation = new TabNavigationControl();
tabNavigation.TransitionEffect = TransitionEffect.Slide;
TabNavigationItem item1 = new TabNavigationItem { Header = "Page 1", Content = "Content 1" };
TabNavigationItem item2 = new TabNavigationItem { Header = "Page 2", Content = "Content 2" };
tabNavigation.Items.Add(item1);
tabNavigation.Items.Add(item2);
this.Content = tabNavigation;xaml
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
<syncfusion:TabNavigationControl x:Name="tabNavigation"
TransitionEffect="Slide"
Width="400" Height="300">
<syncfusion:TabNavigationItem Header="Page 1">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 1" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
<syncfusion:TabNavigationItem Header="Page 2">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 2" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
<syncfusion:TabNavigationItem Header="Page 3">
<syncfusion:TabNavigationItem.Content>
<TextBlock Text="Welcome to Page 3" FontSize="18" HorizontalAlignment="Center"/>
</syncfusion:TabNavigationItem.Content>
</syncfusion:TabNavigationItem>
</syncfusion:TabNavigationControl>csharp
using Syncfusion.Windows.Tools.Controls;
TabNavigationControl tabNavigation = new TabNavigationControl();
tabNavigation.TransitionEffect = TransitionEffect.Slide;
TabNavigationItem item1 = new TabNavigationItem { Header = "Page 1", Content = "Content 1" };
TabNavigationItem item2 = new TabNavigationItem { Header = "Page 2", Content = "Content 2" };
tabNavigation.Items.Add(item1);
tabNavigation.Items.Add(item2);
this.Content = tabNavigation;Common Patterns
常见模式
| Scenario | Approach |
|---|---|
| Static page set | Declarative |
| Dynamic data-driven tabs | |
| Smooth slide transition | |
| Fade between content | |
| Hide all chrome (full-screen content) | |
| Auto-rotating banner | Bind |
| 场景 | 实现方式 |
|---|---|
| 静态页面集合 | 在XAML中声明 |
| 动态数据驱动标签 | |
| 平滑滑动过渡 | |
| 内容淡入淡出切换 | |
| 隐藏所有边框(全屏内容) | |
| 自动轮播横幅 | 绑定 |
Key Properties
关键属性
| Property | Type | Description |
|---|---|---|
| | Animation when switching items |
| | Data collection for data-bound population |
| | Show/hide the header tab strip |
| | Show/hide prev/next arrow buttons |
| | Show/hide the tab strip panel |
TabNavigationItem properties:
| Property | Description |
|---|---|
| Tab label text |
| Page content (string or UIElement) |
| 属性 | 类型 | 描述 |
|---|---|---|
| | 切换项时的动画效果 |
| | 用于数据绑定填充的数据集 |
| | 显示/隐藏标题标签栏 |
| | 显示/隐藏上一页/下一页箭头按钮 |
| | 显示/隐藏标签栏面板 |
TabNavigationItem属性:
| 属性 | 描述 |
|---|---|
| 标签文本 |
| 页面内容(字符串或UIElement) |