Loading...
Loading...
Implement Syncfusion WPF Tile Controls (SfHubTile and SfPulsingTile) for animated tile UIs. Use this when building Windows-style live tiles, tile transitions, tile animations, or grouped tile layouts in WPF. Covers Slide/Fade transitions, pulsing/zooming content, tile grouping, freeze/unfreeze animations, and desktop-style live tile experiences.
npx skill4agent add syncfusion/wpf-ui-components-skills syncfusion-wpf-hub-tileHubTileService| Control | Style | Key Capability |
|---|---|---|
| Live tile | Cycles between primary + secondary content via Slide/Fade transitions |
| Music/video tile | Continuously zooms and pans its content using |
HubTileBaseHeaderTitleImageSourceIsFrozenGroupNameScaleDepthTilePressDurationClickCommandSyncfusion.SfHubTile.WPFSyncfusion.SfShared.WPFxmlns:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:shared="clr-namespace:Syncfusion.Windows.Controls;assembly=Syncfusion.SfShared.Wpf"HubTileTransitionsHubTileTransitionCompletedScaleDepthTilePressDurationPulseScalePulseDurationRadiusXRadiusYTranslateDurationScaleDepthTilePressDurationOverrideDefaultStatesGroupNameIsFrozenHubTileService.FreezeUnFreezeSystem.Windows.InteractivityHeaderStyleHeaderTemplateTitleStyleSecondaryContentSecondaryContentTemplateSfSkinManager<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:shared="clr-namespace:Syncfusion.Windows.Controls;assembly=Syncfusion.SfShared.Wpf">
<Grid>
<syncfusion:SfHubTile Header="Mail"
Title="You have 5 new messages"
ImageSource="/Assets/mail.png"
Foreground="White"
Interval="00:00:03">
<syncfusion:SfHubTile.HubTileTransitions>
<shared:SlideTransition/>
</syncfusion:SfHubTile.HubTileTransitions>
<syncfusion:SfHubTile.SecondaryContent>
<Image Source="/Assets/mail-preview.png" Stretch="UniformToFill" Margin="-1"/>
</syncfusion:SfHubTile.SecondaryContent>
</syncfusion:SfHubTile>
</Grid>
</Window><syncfusion:SfPulsingTile Header="Music"
Title="Now Playing - Song Name"
ImageSource="/Assets/album.jpg"
Foreground="White"
PulseScale="2"
PulseDuration="00:00:03"
RadiusX="50"
RadiusY="50">
<Image Source="/Assets/album.jpg" Stretch="UniformToFill"/>
</syncfusion:SfPulsingTile>using Syncfusion.Windows.Controls.Notification;
SfHubTile hubTile = new SfHubTile();
hubTile.Header = "Mail";
hubTile.Title = "You have 5 new messages";
hubTile.Foreground = Brushes.White;
hubTile.ImageSource = new BitmapImage(new Uri(@"/Assets/mail.png", UriKind.RelativeOrAbsolute));
hubTile.HubTileTransitions.Add(new SlideTransition());
hubTile.Interval = TimeSpan.FromSeconds(3.0);
grid.Children.Add(hubTile);SfHubTileSecondaryContentSfPulsingTilePulseScaleRadiusXRadiusY// Freeze single tile
hubTile.IsFrozen = true;
// Freeze entire group
HubTileService.Freeze("GroupName");
// Unfreeze entire group
HubTileService.UnFreeze("GroupName");ObservableCollection<Model>ListViewItemTemplateSfHubTileHeaderImageSourceIntervalreferences/grouping-and-freeze.md| Property | Control | Purpose |
|---|---|---|
| Both | Label displayed at tile bottom |
| Both | Notification text at tile top |
| Both | Primary image path |
| Both | Text color (set to White for dark tiles) |
| Both | Stop/start animation |
| Both | Group tiles for bulk freeze/unfreeze |
| SfHubTile | Time between transitions |
| SfHubTile | Content shown during transition |
| SfHubTile | Transition effects (Slide, Fade) |
| SfPulsingTile | Zoom magnitude |
| SfPulsingTile | Duration of one zoom cycle |
| SfPulsingTile | Translation range on X/Y axes |
| SfPulsingTile | Duration of one translation cycle |
| Both | Press animation zoom depth |
| Both | Press animation duration |