mcpField
S
syncfusion-wpf-wizard-control

syncfusion-wpf-wizard-control

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

关于 syncfusion-wpf-wizard-control

这项参考技能介绍如何使用 Syncfusion 的 WPF WizardControl 构建多步骤向导界面,涵盖页面配置、导航、数据绑定和外观定制,适用于设置与配置流程。

主要功能

  1. 01配置 WizardPage 类型和按钮
  2. 02控制顺序或分支导航
  3. 03从数据源绑定页面
  4. 04定制横幅、页眉和主题

适用场景

  1. 01构建安装或引导流程
  2. 02跳过步骤或按条件分支
  3. 03从集合动态加载向导页面

安装

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

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

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

包含的文件

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

references/
getting-started.md
interactive-features.md
layout-and-appearance.md
page-types-and-navigation.md

详细介绍

实现 Syncfusion WPF WizardControl

WizardControl 是 Syncfusion 的 WPF 向导 UI,采用常见的安装向导模式。它承载一个或多个 WizardPage 项,并自动管理“上一步”/“下一步”/“完成”/“取消”导航。每个页面的类型、横幅和按钮状态均可单独配置。页面既可通过声明方式添加,也可通过数据源绑定。

所需程序集:

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

命名空间: Syncfusion.Windows.Tools.Controls
XAML 架构: http://schemas.syncfusion.com/wpf


何时使用此技能

  • 创建多步骤向导 UI(安装、引导、配置、结账)
  • 在 WizardControl 中添加和配置 WizardPage 项
  • 控制每个页面上显示哪些导航按钮,或启用哪些按钮
  • 实现非线性页面流程(跳过步骤、根据用户输入分支)
  • 通过 ItemsSource 从集合动态绑定向导页面
  • 自定义横幅图像、横幅颜色和页面标题
  • 应用主题或自定义向导的外观

导航指南

入门

📄 阅读: references/getting-started.md

  • 程序集和 NuGet 设置
  • 通过设计器、XAML 或 C# 添加 WizardControl
  • 添加多个 WizardPage
  • 主题支持概览
页面类型和导航按钮

📄 阅读: references/page-types-and-navigation.md

  • PageType 枚举:Blank、Interior、Exterior
  • 启用/禁用“上一步”、“下一步”、“完成”、“取消”按钮
  • 显示/隐藏导航按钮
  • 自定义按钮标签文本
  • FinishButtonClosesWindow / CancelButtonCancelsWindow
交互功能

📄 阅读: references/interactive-features.md

  • 通过声明方式或 ItemsSource 数据绑定填充页面
  • 绑定页面的 ItemContainerStyle 和 ItemTemplate
  • SelectedWizardPage — 以编程方式选择页面
  • WizardPage 上的 Title 和 Description
  • 用于非线性导航的 NextPage / PreviousPage
  • Next 事件处理程序
布局和外观

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

  • InteriorPageHeaderMinHeight
  • BannerBackground 颜色
  • WizardPage 上的 BannerImage
  • ExteriorPageBannerImageMinWidth
  • 通过 SfSkinManager 应用内置主题
  • 通过 Theme Studio 创建自定义主题

快速入门

最简 XAML 设置
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf" ...>
    <Grid>
        <syncfusion:WizardControl Name="wizard"
                                  FinishButtonClosesWindow="True"
                                  CancelButtonCancelsWindow="True">
            <syncfusion:WizardPage Title="Welcome"
                                   Description="Introduction to the setup process."
                                   PageType="Exterior"
                                   BannerImage="Images/banner.png"/>
            <syncfusion:WizardPage Title="Configuration"
                                   Description="Configure your settings."
                                   PageType="Interior"/>
            <syncfusion:WizardPage Title="Finish"
                                   Description="Setup is complete."
                                   PageType="Exterior"/>
        </syncfusion:WizardControl>
    </Grid>
</Window>
最简 C# 设置
using Syncfusion.Windows.Tools.Controls;

WizardControl wizard = new WizardControl();
wizard.FinishButtonClosesWindow = true;
wizard.CancelButtonCancelsWindow = true;

WizardPage page1 = new WizardPage { Title = "Welcome",       PageType = WizardPageType.Exterior };
WizardPage page2 = new WizardPage { Title = "Configuration", PageType = WizardPageType.Interior };
WizardPage page3 = new WizardPage { Title = "Finish",        PageType = WizardPageType.Exterior };

wizard.Items.Add(page1);
wizard.Items.Add(page2);
wizard.Items.Add(page3);

this.Content = wizard;

常见模式

按页面控制导航按钮的可见性

<syncfusion:WizardPage Title="Step 1" BackVisible="False" NextVisible="True" FinishVisible="False"/>


<syncfusion:WizardPage Title="Step 2" BackVisible="True" NextVisible="True" FinishVisible="False"/>


<syncfusion:WizardPage Title="Step 3" BackVisible="True" NextVisible="False" FinishVisible="True"/>
非线性导航(跳过一个步骤)
<syncfusion:WizardControl Name="wizard">
    <syncfusion:WizardPage x:Name="step1" Title="Step 1"
                           NextPage="{Binding ElementName=step3}"/>
    <syncfusion:WizardPage x:Name="step2" Title="Step 2"/>
    <syncfusion:WizardPage x:Name="step3" Title="Step 3"
                           PreviousPage="{Binding ElementName=step1}"/>
</syncfusion:WizardControl>
处理“下一步”按钮单击事件
<syncfusion:WizardControl Next="Wizard_Next" ...>
private void Wizard_Next(object sender, RoutedEventArgs e)
{
    var wiz = (WizardControl)sender;
    // Validate current page before allowing navigation
    if (!ValidateCurrentPage())
        e.Handled = true;  // Cancel navigation
}

关键属性

WizardControl 属性
属性类型描述
SelectedWizardPageWizardPage当前显示的页面
ItemsSourceIEnumerable从集合绑定页面
ItemTemplateDataTemplate绑定页面内容的模板
ItemContainerStyleStyle应用于每个 WizardPage 容器的样式
BackEnabledbool全局启用/禁用“返回”按钮
NextEnabledbool全局启用/禁用“下一步”按钮
FinishEnabledbool全局启用/禁用“完成”按钮
CancelEnabledbool全局启用/禁用“取消”按钮
BackVisiblebool全局显示/隐藏“返回”按钮
NextVisiblebool全局显示/隐藏“下一步”按钮
FinishVisiblebool全局显示/隐藏“完成”按钮
HelpVisiblebool全局显示/隐藏“帮助”按钮
CancelVisiblebool全局显示/隐藏“取消”按钮
BackTextstring“返回”按钮的自定义标签
NextTextstring“下一步”按钮的自定义标签
FinishTextstring“完成”按钮的自定义标签
HelpTextstring“帮助”按钮的自定义标签
CancelTextstring“取消”按钮的自定义标签
FinishButtonClosesWindowbool点击“完成”时关闭窗口
CancelButtonCancelsWindowbool点击“取消”时关闭窗口
InteriorPageHeaderMinHeightdoubleInterior 页面标题栏的最小高度
ExteriorPageBannerImageMinWidthdoubleExterior 页面的横幅图像最小宽度
WizardPage 属性
属性类型描述
Titlestring标题栏中显示的页面标题
Descriptionstring标题栏中显示的页面描述
PageTypeWizardPageTypeBlank、Interior 或 Exterior
BannerImageImageSource页面的横幅图像
BannerBackgroundBrush横幅区域的背景颜色
NextPageWizardPage覆盖默认的下一页面
PreviousPageWizardPage覆盖默认的上一页面
BackEnabledbool启用/禁用此页面上的“返回”按钮
NextEnabledbool启用/禁用此页面上的“下一步”按钮
FinishEnabledbool启用/禁用此页面上的“完成”按钮
CancelEnabledbool启用/禁用此页面上的“取消”按钮
BackVisiblebool显示/隐藏此页面上的“返回”按钮
NextVisiblebool显示/隐藏此页面上的“下一步”按钮
FinishVisiblebool显示/隐藏此页面上的“完成”按钮
HelpVisiblebool显示/隐藏此页面上的“帮助”按钮
CancelVisiblebool显示/隐藏此页面上的“取消”按钮

评论

支持 Markdown