Implementing Syncfusion Blazor Notifications
A comprehensive skill for implementing Toast, Message, and Skeleton components from Syncfusion Blazor Notifications. These components provide essential user feedback mechanisms including temporary notifications, inline messages, and content loading states.
Component Overview
SfToast
Lightweight, non-blocking notification popups that appear temporarily to provide feedback. Supports positioning, animations, action buttons, and templates.
Key Features:
- Configurable positions (top-left, top-center, top-right, bottom-left, bottom-center, bottom-right)
- Show/hide animations with customizable timing
- Auto-dismiss with timeout and progress bar
- Action buttons for user interaction
- Template support for custom content
- Event callbacks (OnOpen, OnClose, OnClick)
- Multiple toast stacking (newest on top/bottom)
SfMessage
Inline alert component for displaying contextual feedback messages with different severity levels.
Key Features:
- Severity types (Normal, Info, Success, Warning, Error) with color-coded styling
- Variants (Text, Outlined, Filled) for different visual styles
- Built-in icons matching severity levels
- Optional close button for dismissible messages
- Content alignment (left, center, right)
- Visibility control and close event handling
- Custom CSS styling support
SfSkeleton
Loading placeholder component that displays animated shapes to indicate content is loading.
Key Features:
- Shapes (Circle, Square, Rectangle, Text) for different content types
- Shimmer effects (Pulse, Wave, Fade, None) for visual feedback
- Configurable dimensions (width, height)
- Accessibility labels for screen readers
- Visibility toggle for showing/hiding
- CSS customization for styling
Quick Start
Toast - Basic Example
@page "/toast-demo"
@using Syncfusion.Blazor.Notifications
@using Syncfusion.Blazor.Buttons
<SfButton @onclick="ShowToast">Show Toast</SfButton>
<SfToast @ref="ToastObj" Title="Notification" Content="Your changes have been saved successfully!" />
@code {
SfToast ToastObj;
private async Task ShowToast()
{
await ToastObj.ShowAsync();
}
}
Message - Basic Example
@page "/message-demo"
@using Syncfusion.Blazor.Notifications
<SfMessage Severity="MessageSeverity.Success" ShowIcon="true" ShowCloseIcon="true">
Your profile has been updated successfully!
</SfMessage>
<SfMessage Severity="MessageSeverity.Warning" ShowIcon="true">
Your session will expire in 5 minutes.
</SfMessage>
<SfMessage Severity="MessageSeverity.Error" ShowIcon="true" ShowCloseIcon="true">
Failed to save changes. Please try again.
</SfMessage>
Skeleton - Basic Example
@page "/skeleton-demo"
@using Syncfusion.Blazor.Notifications
<div class="skeleton-container">
<SfSkeleton Shape="SkeletonType.Circle" Width="60px" Height="60px" />
<div class="skeleton-text">
<SfSkeleton Shape="SkeletonType.Text" Width="80%" />
<SfSkeleton Shape="SkeletonType.Text" Width="60%" />
</div>
</div>
<style>
.skeleton-container {
display: flex;
gap: 16px;
padding: 16px;
}
.skeleton-text {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
}
</style>
Documentation and Navigation Guide
Toast Component
Getting Started with Toast
📄 Read: references/toast-getting-started.md
- Installation and NuGet package setup
- Service registration in Program.cs
- Basic toast implementation
- Showing and hiding toasts programmatically
- Position configuration basics
- Simple success/error notifications
Advanced Toast Features
📄 Read: references/toast-features.md
- Position and alignment options (9 predefined positions)
- Animation settings (show/hide with effects and duration)
- Auto-dismiss with timeout and extended timeout
- Progress bar display and direction
- Action buttons with event handlers
- Title and content templates
- Multiple toast management and stacking order
- Event callbacks (OnOpen, OnClose, OnClick, BeforeOpen, BeforeClose)
- RTL (right-to-left) support
- Custom width, height, and CSS styling
- Target container specification
Message Component
Message Implementation
📄 Read: references/message-implementation.md
- Getting started with Message component
- Severity types (Normal, Info, Success, Warning, Error)
- Variant styles (Text, Outlined, Filled)
- Icon configuration (built-in and custom)
- Close icon and dismissal handling
- Content alignment options
- Visibility control and two-way binding
- Close event handling
- Custom content with ChildContent
- CSS class customization
- Accessibility features
- Integration with forms and validation
Skeleton Component
Skeleton Implementation
📄 Read: references/skeleton-implementation.md
- Getting started with Skeleton component
- Skeleton shapes (Circle, Square, Rectangle, Text)
- Shimmer effects (Pulse, Wave, Fade, None)
- Width and height configuration
- Visibility toggle for loading states
- Accessibility labels for screen readers
- Multiple skeleton layouts (lists, cards, tables)
- Common loading patterns (profile, article, grid)
- CSS customization and theming
- Performance considerations
Styling and Themes
Styling All Notification Components
📄 Read: references/styling-and-themes.md
- Theme integration (Bootstrap, Material, Fluent, Tailwind)
- Custom CSS classes for Toast
- Custom CSS classes for Message
- Custom CSS classes for Skeleton
- Dark mode support for all components
- Responsive design patterns
- Color customization
- Animation customization
- Component-specific styling techniques
Use Cases and Examples
Real-World Implementation Examples
📄 Read: references/use-cases-and-examples.md
- Form submission feedback (Toast + Message)
- E-commerce cart notifications
- Dashboard data updates
- File upload progress and feedback
- User authentication feedback
- Data loading with Skeleton placeholders
- Error handling and recovery
- Multi-step process feedback
- Notification center/history
- Combining all three components effectively
Common Patterns
Pattern 1: Success/Error Feedback with Toast
@code {
SfToast ToastObj;
private async Task SaveData()
{
try
{
await DataService.SaveAsync();
ToastObj.Title = "Success";
ToastObj.Content = "Data saved successfully!";
await ToastObj.ShowAsync();
}
catch (Exception ex)
{
ToastObj.Title = "Error";
ToastObj.Content = $"Failed to save: {ex.Message}";
await ToastObj.ShowAsync();
}
}
}
Pattern 2: Form Validation with Message
<EditForm Model="@model"
<DataAnnotationsValidator />
@if (!string.IsNullOrEmpty(errorMessage))
{
<SfMessage Severity="MessageSeverity.Error"
ShowIcon="true"
ShowCloseIcon="true"
Closed="@(() => errorMessage = null)">
@errorMessage
</SfMessage>
}
<!-- Form fields -->
</EditForm>
Pattern 3: Loading State with Skeleton
@if (isLoading)
{
<div class="product-card-skeleton">
<SfSkeleton Shape="SkeletonType.Rectangle" Width="100%" Height="200px" />
<SfSkeleton Shape="SkeletonType.Text" Width="80%" />
<SfSkeleton Shape="SkeletonType.Text" Width="60%" />
</div>
}
else
{
<div class="product-card">
<img src="@product.ImageUrl" alt="@product.Name" />
<h3>@product.Name</h3>
<p>@product.Description</p>
</div>
}
Pattern 4: Multiple Toast Types
<SfToast @ref="SuccessToast"
Title="Success"
Icon="e-success"
CssClass="e-toast-success"
<ToastPosition X="Right" Y="Top"></ToastPositio
<SfToast @ref="ErrorToast"
Title="Error"
Icon="e-error"
CssClass="e-toast-danger"
<ToastPosition X="Right" Y="Top"></ToastPosition>
<SfToast @ref="WarningToast"
Title="Warning"
Icon="e-warning"
CssClass="e-toast-warning"
<ToastPosition X="Right" Y="Top"></ToastPosition>
@code {
SfToast SuccessToast, ErrorToast, WarningToast;
private async Task ShowSuccess(string message)
{
SuccessToast.Content = message;
await SuccessToast.ShowAsync();
}
private async Task ShowError(string message)
{
ErrorToast.Content = message;
await ErrorToast.ShowAsync();
}
private async Task ShowWarning(string message)
{
WarningToast.Content = message;
await WarningToast.ShowAsync();
}
}
Installation
NuGet Package
dotnet add package Syncfusion.Blazor.Notifications
dotnet add package Syncfusion.Blazor.Themes
Service Registration
Program.cs:
using Syncfusion.Blazor;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSyncfusionBlazor();
Namespace Import
_Imports.razor:
@using Syncfusion.Blazor.Notifications
Theme Reference
App.razor or layout file:
<link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js"></script>
Key Properties Reference
Toast Properties
| Property |
Type |
Description |
| Content |
string |
Toast message content |
| Title |
string |
Toast title text |
| Icon |
string |
Icon CSS class |
| Position |
ToastPosition |
X and Y position (Top, Bottom, Left, Right, Center) |
| Timeout |
int |
Auto-hide duration in milliseconds (default: 5000) |
| ShowCloseButton |
bool |
Display close button (default: false) |
| ShowProgressBar |
bool |
Display progress bar (default: false) |
| NewestOnTop |
bool |
Stack newest toast on top (default: true) |
| CssClass |
string |
Custom CSS classes |
Message Properties
| Property |
Type |
Description |
| Severity |
MessageSeverity |
Normal, Info, Success, Warning, Error |
| Variant |
MessageVariant |
Text, Outlined, Filled |
| ShowIcon |
bool |
Display severity icon (default: true) |
| ShowCloseIcon |
bool |
Display close button (default: false) |
| Visible |
bool |
Control visibility |
| ContentAlignment |
HorizontalAlign |
Left, Center, Right alignment |
| CssClass |
string |
Custom CSS classes |
Skeleton Properties
| Property |
Type |
Description |
| Shape |
SkeletonType |
Circle, Square, Rectangle, Text |
| Effect |
ShimmerEffect |
Pulse, Wave, Fade, None |
| Width |
string |
Width in px, %, or other CSS units |
| Height |
string |
Height in px, %, or other CSS units |
| Visible |
bool |
Control visibility |
| Label |
string |
Accessibility label |
| CssClass |
string |
Custom CSS classes |
Common Use Cases
- Form Submission Feedback - Show success/error toast after form submission
- Validation Messages - Display inline messages for validation errors
- Loading States - Use skeleton during data fetching
- Cart Operations - Toast notifications for add/remove from cart
- File Upload - Progress feedback and completion notification
- API Errors - Display error messages with retry options
- Session Warnings - Show warning message before session expires
- Data Refresh - Skeleton placeholders during refresh operations
- Multi-Step Forms - Progress feedback at each step
- Real-time Updates - Toast notifications for live data changes
Troubleshooting
Toast Not Appearing
- Ensure
ShowAsync() is called to display the toast
- Verify toast component has content or template
- Check if toast timeout is too short
- Confirm ToastPosition is within viewport bounds
Message Not Visible
- Check
Visible property is set to true
- Verify message has content in ChildContent or Content property
- Ensure component is rendered in DOM (not hidden by parent)
- Check CSS z-index conflicts
Skeleton Not Animating
- Verify
Effect property is set (Pulse, Wave, or Fade)
- Check if shimmer effect CSS is loaded with theme
- Ensure skeleton has defined width and height
- Confirm
Visible is set to true
Theme Not Applied
- Verify theme CSS is referenced in App.razor or layout
- Check Syncfusion.Blazor.Themes package is installed
- Ensure CSS link is before component usage
- Try clearing browser cache
Service Not Registered
- Add
builder.Services.AddSyncfusionBlazor() in Program.cs
- Verify Syncfusion.Blazor.Core package is installed
- Ensure using statement is present
- Rebuild project after adding service
Best Practices
- Use appropriate notification type - Toast for temporary, Message for persistent
- Limit toast duration - 3-7 seconds for most messages, longer for errors
- Provide clear actions - Include retry/dismiss buttons where appropriate
- Skeleton resemblance - Make skeleton shapes match actual content structure
- Accessibility - Always provide labels for skeletons and icons
- Position consistency - Use same toast position throughout app
- Message severity - Use correct severity level for message context
- Avoid overuse - Don't overwhelm users with too many notifications
- Progressive enhancement - Use skeleton for perceived performance improvement
- Error handling - Always handle toast/message display errors gracefully
Next Steps
- Explore Toast Advanced Features for animations and templates
- Learn Message Implementation for form validation
- Review Skeleton Patterns for loading states
- Check Styling Guide for customization
- See Real-World Examples for complete scenarios
1---2name: syncfusion-blazor-notifications3description: Implement Syncfusion Blazor notification components (Toast, Message, Skeleton) for user feedback and loading states. ALWAYS use this when users need toast notifications, popup messages, alert boxes, success/error/warning/info messages, loading skeletons, shimmer effects, content placeholders, or any feedback UI. Trigger immediately when users mention notifications, toasts, alerts, messages, loading states, skeleton screens, shimmer loading, user feedback, status messages, SfToast, SfMessage, SfSkeleton, notification popups, or need to show temporary messages, form validation feedback, or loading placeholders.4---5
6# Implementing Syncfusion Blazor Notifications
7
8A comprehensive skill for implementing Toast, Message, and Skeleton components from Syncfusion Blazor Notifications. These components provide essential user feedback mechanisms including temporary notifications, inline messages, and content loading states.
9
10## Component Overview
11
12### SfToast
13Lightweight, non-blocking notification popups that appear temporarily to provide feedback. Supports positioning, animations, action buttons, and templates.
14
15**Key Features:**
16- Configurable positions (top-left, top-center, top-right, bottom-left, bottom-center, bottom-right)
17- Show/hide animations with customizable timing
18- Auto-dismiss with timeout and progress bar
19- Action buttons for user interaction
20- Template support for custom content
21- Event callbacks (OnOpen, OnClose, OnClick)
22- Multiple toast stacking (newest on top/bottom)
23
24### SfMessage
25Inline alert component for displaying contextual feedback messages with different severity levels.
26
27**Key Features:**
28- Severity types (Normal, Info, Success, Warning, Error) with color-coded styling
29- Variants (Text, Outlined, Filled) for different visual styles
30- Built-in icons matching severity levels
31- Optional close button for dismissible messages
32- Content alignment (left, center, right)
33- Visibility control and close event handling
34- Custom CSS styling support
35
36### SfSkeleton
37Loading placeholder component that displays animated shapes to indicate content is loading.
38
39**Key Features:**
40- Shapes (Circle, Square, Rectangle, Text) for different content types
41- Shimmer effects (Pulse, Wave, Fade, None) for visual feedback
42- Configurable dimensions (width, height)
43- Accessibility labels for screen readers
44- Visibility toggle for showing/hiding
45- CSS customization for styling
46
47## Quick Start
48
49### Toast - Basic Example
50
51```razor
52@page "/toast-demo"
53@using Syncfusion.Blazor.Notifications
54@using Syncfusion.Blazor.Buttons
55
56<SfButton @onclick="ShowToast">Show Toast</SfButton>
57
58<SfToast @ref="ToastObj" Title="Notification" Content="Your changes have been saved successfully!" />
59
60@code {
61 SfToast ToastObj;
62
63 private async Task ShowToast()
64 {
65 await ToastObj.ShowAsync();
66 }
67}
68```
69
70### Message - Basic Example
71
72```razor
73@page "/message-demo"
74@using Syncfusion.Blazor.Notifications
75
76<SfMessage Severity="MessageSeverity.Success" ShowIcon="true" ShowCloseIcon="true">
77 Your profile has been updated successfully!
78</SfMessage>
79
80<SfMessage Severity="MessageSeverity.Warning" ShowIcon="true">
81 Your session will expire in 5 minutes.
82</SfMessage>
83
84<SfMessage Severity="MessageSeverity.Error" ShowIcon="true" ShowCloseIcon="true">
85 Failed to save changes. Please try again.
86</SfMessage>
87```
88
89### Skeleton - Basic Example
90
91```razor
92@page "/skeleton-demo"
93@using Syncfusion.Blazor.Notifications
94
95<div class="skeleton-container">
96 <SfSkeleton Shape="SkeletonType.Circle" Width="60px" Height="60px" />
97 <div class="skeleton-text">
98 <SfSkeleton Shape="SkeletonType.Text" Width="80%" />
99 <SfSkeleton Shape="SkeletonType.Text" Width="60%" />
100 </div>
101</div>
102
103<style>
104 .skeleton-container {
105 display: flex;
106 gap: 16px;
107 padding: 16px;
108 }
109 .skeleton-text {
110 flex: 1;
111 display: flex;
112 flex-direction: column;
113 gap: 8px;
114 }
115</style>
116```
117
118## Documentation and Navigation Guide
119
120### Toast Component
121
122#### Getting Started with Toast
123📄 **Read:** [references/toast-getting-started.md](references/toast-getting-started.md)
124- Installation and NuGet package setup
125- Service registration in Program.cs
126- Basic toast implementation
127- Showing and hiding toasts programmatically
128- Position configuration basics
129- Simple success/error notifications
130
131#### Advanced Toast Features
132📄 **Read:** [references/toast-features.md](references/toast-features.md)
133- Position and alignment options (9 predefined positions)
134- Animation settings (show/hide with effects and duration)
135- Auto-dismiss with timeout and extended timeout
136- Progress bar display and direction
137- Action buttons with event handlers
138- Title and content templates
139- Multiple toast management and stacking order
140- Event callbacks (OnOpen, OnClose, OnClick, BeforeOpen, BeforeClose)
141- RTL (right-to-left) support
142- Custom width, height, and CSS styling
143- Target container specification
144
145### Message Component
146
147#### Message Implementation
148📄 **Read:** [references/message-implementation.md](references/message-implementation.md)
149- Getting started with Message component
150- Severity types (Normal, Info, Success, Warning, Error)
151- Variant styles (Text, Outlined, Filled)
152- Icon configuration (built-in and custom)
153- Close icon and dismissal handling
154- Content alignment options
155- Visibility control and two-way binding
156- Close event handling
157- Custom content with ChildContent
158- CSS class customization
159- Accessibility features
160- Integration with forms and validation
161
162### Skeleton Component
163
164#### Skeleton Implementation
165📄 **Read:** [references/skeleton-implementation.md](references/skeleton-implementation.md)
166- Getting started with Skeleton component
167- Skeleton shapes (Circle, Square, Rectangle, Text)
168- Shimmer effects (Pulse, Wave, Fade, None)
169- Width and height configuration
170- Visibility toggle for loading states
171- Accessibility labels for screen readers
172- Multiple skeleton layouts (lists, cards, tables)
173- Common loading patterns (profile, article, grid)
174- CSS customization and theming
175- Performance considerations
176
177### Styling and Themes
178
179#### Styling All Notification Components
180📄 **Read:** [references/styling-and-themes.md](references/styling-and-themes.md)
181- Theme integration (Bootstrap, Material, Fluent, Tailwind)
182- Custom CSS classes for Toast
183- Custom CSS classes for Message
184- Custom CSS classes for Skeleton
185- Dark mode support for all components
186- Responsive design patterns
187- Color customization
188- Animation customization
189- Component-specific styling techniques
190
191### Use Cases and Examples
192
193#### Real-World Implementation Examples
194📄 **Read:** [references/use-cases-and-examples.md](references/use-cases-and-examples.md)
195- Form submission feedback (Toast + Message)
196- E-commerce cart notifications
197- Dashboard data updates
198- File upload progress and feedback
199- User authentication feedback
200- Data loading with Skeleton placeholders
201- Error handling and recovery
202- Multi-step process feedback
203- Notification center/history
204- Combining all three components effectively
205
206## Common Patterns
207
208### Pattern 1: Success/Error Feedback with Toast
209
210```razor
211@code {
212 SfToast ToastObj;
213
214 private async Task SaveData()
215 {
216 try
217 {
218 await DataService.SaveAsync();
219 ToastObj.Title = "Success";
220 ToastObj.Content = "Data saved successfully!";
221 await ToastObj.ShowAsync();
222 }
223 catch (Exception ex)
224 {
225 ToastObj.Title = "Error";
226 ToastObj.Content = $"Failed to save: {ex.Message}";
227 await ToastObj.ShowAsync();
228 }
229 }
230}
231```
232
233### Pattern 2: Form Validation with Message
234
235```razor
236<EditForm Model="@model" OnValidSubmit="HandleValidSubmit">
237 <DataAnnotationsValidator />
238
239 @if (!string.IsNullOrEmpty(errorMessage))
240 {
241 <SfMessage Severity="MessageSeverity.Error"
242 ShowIcon="true"
243 ShowCloseIcon="true"
244 Closed="@(() => errorMessage = null)">
245 @errorMessage
246 </SfMessage>
247 }
248
249 <!-- Form fields -->
250</EditForm>
251```
252
253### Pattern 3: Loading State with Skeleton
254
255```razor
256@if (isLoading)
257{
258 <div class="product-card-skeleton">
259 <SfSkeleton Shape="SkeletonType.Rectangle" Width="100%" Height="200px" />
260 <SfSkeleton Shape="SkeletonType.Text" Width="80%" />
261 <SfSkeleton Shape="SkeletonType.Text" Width="60%" />
262 </div>
263}
264else
265{
266 <div class="product-card">
267 <img src="@product.ImageUrl" alt="@product.Name" />
268 <h3>@product.Name</h3>
269 <p>@product.Description</p>
270 </div>
271}
272```
273
274### Pattern 4: Multiple Toast Types
275
276```razor
277<SfToast @ref="SuccessToast"
278 Title="Success"
279 Icon="e-success"
280 CssClass="e-toast-success"
281 <ToastPosition X="Right" Y="Top"></ToastPositio
282
283<SfToast @ref="ErrorToast"
284 Title="Error"
285 Icon="e-error"
286 CssClass="e-toast-danger"
287 <ToastPosition X="Right" Y="Top"></ToastPosition>
288
289<SfToast @ref="WarningToast"
290 Title="Warning"
291 Icon="e-warning"
292 CssClass="e-toast-warning"
293 <ToastPosition X="Right" Y="Top"></ToastPosition>
294
295@code {
296 SfToast SuccessToast, ErrorToast, WarningToast;
297
298 private async Task ShowSuccess(string message)
299 {
300 SuccessToast.Content = message;
301 await SuccessToast.ShowAsync();
302 }
303
304 private async Task ShowError(string message)
305 {
306 ErrorToast.Content = message;
307 await ErrorToast.ShowAsync();
308 }
309
310 private async Task ShowWarning(string message)
311 {
312 WarningToast.Content = message;
313 await WarningToast.ShowAsync();
314 }
315}
316```
317
318## Installation
319
320### NuGet Package
321
322```bash
323dotnet add package Syncfusion.Blazor.Notifications
324dotnet add package Syncfusion.Blazor.Themes
325```
326
327### Service Registration
328
329**Program.cs:**
330```csharp
331using Syncfusion.Blazor;
332
333var builder = WebApplication.CreateBuilder(args);
334builder.Services.AddSyncfusionBlazor();
335```
336
337### Namespace Import
338
339**_Imports.razor:**
340```razor
341@using Syncfusion.Blazor.Notifications
342```
343
344### Theme Reference
345
346**App.razor or layout file:**
347```html
348<link href="_content/Syncfusion.Blazor.Themes/bootstrap5.css" rel="stylesheet" />
349<script src="_content/Syncfusion.Blazor.Core/scripts/syncfusion-blazor.min.js"></script>
350```
351
352## Key Properties Reference
353
354### Toast Properties
355
356| Property | Type | Description |
357|----------|------|-------------|
358| Content | string | Toast message content |
359| Title | string | Toast title text |
360| Icon | string | Icon CSS class |
361| Position | ToastPosition | X and Y position (Top, Bottom, Left, Right, Center) |
362| Timeout | int | Auto-hide duration in milliseconds (default: 5000) |
363| ShowCloseButton | bool | Display close button (default: false) |
364| ShowProgressBar | bool | Display progress bar (default: false) |
365| NewestOnTop | bool | Stack newest toast on top (default: true) |
366| CssClass | string | Custom CSS classes |
367
368### Message Properties
369
370| Property | Type | Description |
371|----------|------|-------------|
372| Severity | MessageSeverity | Normal, Info, Success, Warning, Error |
373| Variant | MessageVariant | Text, Outlined, Filled |
374| ShowIcon | bool | Display severity icon (default: true) |
375| ShowCloseIcon | bool | Display close button (default: false) |
376| Visible | bool | Control visibility |
377| ContentAlignment | HorizontalAlign | Left, Center, Right alignment |
378| CssClass | string | Custom CSS classes |
379
380### Skeleton Properties
381
382| Property | Type | Description |
383|----------|------|-------------|
384| Shape | SkeletonType | Circle, Square, Rectangle, Text |
385| Effect | ShimmerEffect | Pulse, Wave, Fade, None |
386| Width | string | Width in px, %, or other CSS units |
387| Height | string | Height in px, %, or other CSS units |
388| Visible | bool | Control visibility |
389| Label | string | Accessibility label |
390| CssClass | string | Custom CSS classes |
391
392## Common Use Cases
393
3941. **Form Submission Feedback** - Show success/error toast after form submission
3952. **Validation Messages** - Display inline messages for validation errors
3963. **Loading States** - Use skeleton during data fetching
3974. **Cart Operations** - Toast notifications for add/remove from cart
3985. **File Upload** - Progress feedback and completion notification
3996. **API Errors** - Display error messages with retry options
4007. **Session Warnings** - Show warning message before session expires
4018. **Data Refresh** - Skeleton placeholders during refresh operations
4029. **Multi-Step Forms** - Progress feedback at each step
40310. **Real-time Updates** - Toast notifications for live data changes
404
405## Troubleshooting
406
407### Toast Not Appearing
408- Ensure `ShowAsync()` is called to display the toast
409- Verify toast component has content or template
410- Check if toast timeout is too short
411- Confirm ToastPosition is within viewport bounds
412
413### Message Not Visible
414- Check `Visible` property is set to `true`
415- Verify message has content in ChildContent or Content property
416- Ensure component is rendered in DOM (not hidden by parent)
417- Check CSS z-index conflicts
418
419### Skeleton Not Animating
420- Verify `Effect` property is set (Pulse, Wave, or Fade)
421- Check if shimmer effect CSS is loaded with theme
422- Ensure skeleton has defined width and height
423- Confirm `Visible` is set to `true`
424
425### Theme Not Applied
426- Verify theme CSS is referenced in App.razor or layout
427- Check Syncfusion.Blazor.Themes package is installed
428- Ensure CSS link is before component usage
429- Try clearing browser cache
430
431### Service Not Registered
432- Add `builder.Services.AddSyncfusionBlazor()` in Program.cs
433- Verify Syncfusion.Blazor.Core package is installed
434- Ensure using statement is present
435- Rebuild project after adding service
436
437## Best Practices
438
4391. **Use appropriate notification type** - Toast for temporary, Message for persistent
4402. **Limit toast duration** - 3-7 seconds for most messages, longer for errors
4413. **Provide clear actions** - Include retry/dismiss buttons where appropriate
4424. **Skeleton resemblance** - Make skeleton shapes match actual content structure
4435. **Accessibility** - Always provide labels for skeletons and icons
4446. **Position consistency** - Use same toast position throughout app
4457. **Message severity** - Use correct severity level for message context
4468. **Avoid overuse** - Don't overwhelm users with too many notifications
4479. **Progressive enhancement** - Use skeleton for perceived performance improvement
44810. **Error handling** - Always handle toast/message display errors gracefully
449
450## Next Steps
451
452- Explore [Toast Advanced Features](references/toast-features.md) for animations and templates
453- Learn [Message Implementation](references/message-implementation.md) for form validation
454- Review [Skeleton Patterns](references/skeleton-implementation.md) for loading states
455- Check [Styling Guide](references/styling-and-themes.md) for customization
456- See [Real-World Examples](references/use-cases-and-examples.md) for complete scenarios