关于 syncfusion-wpf-toast-notification
面向 WPF 开发者的 SfToastNotification 实现指南,涵盖原生 Windows 通知及应用内 Toast,并介绍严重级别、位置、分组和操作按钮。
主要功能
- 01原生、窗口和屏幕显示模式
- 02按严重级别设置视觉样式
- 03自动关闭与动画
- 04交互式操作按钮
- 05通知分组与自定义位置
适用场景
- 01显示保存和操作状态
- 02提供带重试或关闭操作的错误通知
- 03在 WPF 窗口中呈现分组通知
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-toast-notification安装后在 Claude Code 中输入/syncfusion-wpf-toast-notification确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/action-buttons.mdcustom-positioning.mdcustom-spacing.mddisplay-modes.mdgetting-started.mdplacement-and-animations.mdseverity-and-variants.mdtemplate-customization.mdtoast-grouping.md详细介绍
在 WPF 中实现 Toast 通知
何时使用此技能
在以下情况下使用此技能:
- 在 WPF 应用程序中显示临时且不干扰用户的通知
- 显示状态消息(保存成功、操作完成、错误)
- 实现会在超时后自动消失的通知提醒
- 创建原生 Windows OS 通知或自定义应用内 Toast
- 显示基于严重级别的消息(信息、成功、警告、错误)
- 为通知添加交互式操作按钮(回复、撤销、确定)
- 显示临时反馈,避免阻碍用户的工作流
- 实现全局或限定于窗口的通知
- 使用唯一的 Group ID 对相关通知分组,以便更好地整理
- 在自定义屏幕位置显示 Toast,灵活放置通知
- 自定义 Toast 之间的间距,打造合适的通知布局
组件概览
SfToastNotification 是一个非 UI 控件(无需 XAML),用于在 WPF 应用程序中显示 Toast 通知。它支持三种显示模式:
- **默认模式:**原生 Windows OS 通知(Windows 10+)
- **窗口模式:**限制在窗口边界内的应用内通知
- **屏幕模式:**覆盖整个屏幕的全局通知
主要特性:
- 仅通过代码实现(无需 XAML 标记)
- 用于显示和关闭 Toast 的静态 API
- 多种严重级别,并内置视觉样式
- 可自定义动画、位置和模板
- 带回调的交互式操作按钮
- 全面的模板自定义支持
文档与导航指南
参考文件
- **getting-started.md:**基本设置、NuGet 安装、生命周期管理
- **display-modes.md:**默认/窗口/屏幕模式、引导程序设置、模式对比
- **severity-and-variants.md:**严重级别、视觉变体、AccentBrush 自定义
- **placement-and-animations.md:**8 种位置、动画类型、动画参考
- **action-buttons.md:**操作按钮、回调、CloseOnClick、自定义模板
- **template-customization.md:**TitleTemplate、ContentTemplate、CloseButtonTemplate 自定义
- **toast-grouping.md:**按 Group ID 对 Toast 分组、EnableGroupView、GroupContainerHeader 自定义
- **custom-positioning.md:**自定义屏幕位置、X/Y 坐标以及 HorizontalOffset/VerticalOffset 属性
- **custom-spacing.md:**自定义 Toast 之间的间距、Spacing 属性
快速入门示例
基本信息 Toast
using System.Windows;
using Syncfusion.UI.Xaml.SfToastNotification;
namespace ToastDemo
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ShowToast_Click(object sender, RoutedEventArgs e)
{
// Simple toast with title and message
SfToastNotification.Show(this, new ToastOptions
{
Mode = ToastMode.Screen,
Title = "Welcome",
Message = "Hello! This is your first toast notification."
});
}
}
}
带操作按钮的错误 Toast
// Error toast with Retry and Dismiss actions
SfToastNotification.Show(this, new ToastOptions
{
Title = "Operation Failed",
Message = "Unable to save your changes. Please try again.",
Severity = ToastSeverity.Error,
Mode = ToastMode.Screen,
Actions = new List<ToastAction>
{
new ToastAction("Retry")
{
Callback = () => RetryOperation(),
CloseOnClick = true
},
new ToastAction("Dismiss")
{
CloseOnClick = true
}
}
});
常见模式
原生 OS 通知
在启动时通过 WindowsToastBootstrapper.Initialize() 进行初始化,然后设置 Mode = ToastMode.Default。
主要属性
- 标题: 顶部的粗体文本(字符串)
- 消息: 正文文本(字符串)
- 模式: 显示模式——Default(原生操作系统)、Window 或 Screen
- 严重性: 视觉严重程度——None、Info、Success、Warning、Error
- 持续时间: 自动关闭超时时间(默认:6 秒)
- PreventAutoClose: 禁用自动关闭(bool)
- Placement: 屏幕位置(8 种选项:TopLeft、TopCenter 等)
- Variant: 视觉样式——Text、Outlined、Filled
- AccentBrush: 自定义强调色(Brush)
- ShowAnimationType: 显示动画(FadeIn、Zoom、Slide、Flip 等)
- CloseAnimationType: 隐藏动画(FadeOut 等)
- Actions: 交互式操作按钮(List)
- Id: 用于管理的唯一标识符(字符串)
- GroupName: 用于整理相关通知的组 ID(字符串)
- HorizontalOffset: 相对于放置位置的水平偏移量(double)
- VerticalOffset: 相对于放置位置的垂直偏移量(double)
- X: 使用 Custom 放置位置时,相对于左边缘的绝对水平位置(double)
- Y: 使用 Custom 放置位置时,相对于上边缘的绝对垂直位置(double)
- Spacing: 角落中通知之间的自定义间距(double)
- EnableGroupView: 启用分组通知显示(bool)
- GroupContainerHeader: 分组通知的自定义标题文本(字符串)
评论
支持 Markdown