mcpField
S
syncfusion-winforms-hub-tile

syncfusion-winforms-hub-tile

github.com/syncfusionDesign & UI280 installsUpdated 1w ago
Repository

About syncfusion-winforms-hub-tile

This skill guides developers implementing Syncfusion HubTile in Windows Forms applications. It covers slide, flip, and pulse animations, along with tile content, styling, and animation controls.

Key features

  1. 01Provide slide, flip, and pulse animations
  2. 02Configure titles, footers, images, and banners
  3. 03Customize hover, selection, and press effects
  4. 04Control animation playback and freezing
  5. 05Set transition direction, speed, and zoom

Use cases

  1. 01Build a dashboard with live content
  2. 02Show news updates with slide transitions
  3. 03Create media tiles with pulse animations
  4. 04Present status and details on flip tiles

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-hub-tile

After installing, type/syncfusion-winforms-hub-tilein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
appearance-styling.md
default-tile.md
freezing-control.md
getting-started.md
pulsing-tile.md
rotate-tile.md

Details

From the project README

Implementing HubTiles

When to Use This Skill

Use this skill when the user needs to implement Syncfusion HubTile control in a Windows Forms application. HubTile provides live tile functionality with animated transitions similar to Windows 8 and Windows Phone.

Common Use Cases
  1. Dashboard tiles - Live-updating dashboard panels with animated content
  2. Application launchers - Windows 8-style start screen tiles
  3. Status displays - Animated status indicators with transitions
  4. Live notifications - Content tiles that update with slide/rotate/pulse effects
  5. Media libraries - Music/Video tiles with pulsing animations
  6. News feeds - Tiles that transition between content updates
  7. KPI panels - Key performance indicators with animated updates
  8. Navigation menus - Interactive tile-based navigation similar to Windows Phone

When NOT to use: For static buttons or panels without animation needs, use standard Button or Panel controls. For data grids or tables, use DataGridView or Syncfusion GridControl.

Component Overview

Syncfusion HubTile is a content control that functions as live tiles with automatic animations. Content updates are shown through various transition effects, similar to Windows 8 and Windows Phone live tiles.

Key components:

  • Title area (top)
  • Content/Image area (center)
  • Footer area (bottom)
  • Optional Banner overlay
Tile Types

HubTile supports three animation styles:

1. DefaultTile

Provides notifications through slide transition effects (Bottom-to-Top, Top-to-Bottom, Left-to-Right, Right-to-Left).

Use when:

  • Displaying sequential content updates
  • News or status feeds
  • Content that flows in a specific direction
2. RotateTile

Animates by rotating the tile horizontally or vertically, flipping to show alternate content.

Use when:

  • Showing front/back content (e.g., question/answer)
  • Dual-state displays
  • Content that benefits from flip animation
3. PulsingTile

Creates a zoom in/out effect, similar to Windows Phone Music and Video tiles.

Use when:

  • Media content (music, videos, photos)
  • Drawing attention to content
  • Creating dynamic visual interest

Documentation and Navigation Guide

Installation and Setup

📄 Read: references/getting-started.md

When user needs to set up HubTile for the first time. Covers:

  • Assembly references (Syncfusion.Tools.Windows.dll, Syncfusion.Shared.Base.dll)
  • NuGet package installation
  • Namespace imports (Syncfusion.Windows.Forms.Tools)
  • Designer and code-based setup
  • Creating basic tile
  • Adding images, title, and footer
  • Framework support (.NET Framework 4.5+, .NET 6.0-8.0)
DefaultTile (Slide Transitions)

📄 Read: references/default-tile.md

When user needs tiles with slide transition effects. Covers:

  • DefaultTile configuration
  • Title, Footer, and ImageSource properties
  • Transition effects (BottomToTop, TopToBottom, LeftToRight, RightToLeft)
  • SlideTransition property
  • ImageTransitionSpeed control
  • TurnLiveTileOn property
  • Complete transition examples
RotateTile (Flip Animations)

📄 Read: references/rotate-tile.md

When user needs tiles that rotate/flip. Covers:

  • RotateTile configuration
  • Horizontal and vertical rotation
  • RotationTransition property
  • TileFlipDirection (Horizontal, Vertical)
  • RotationTransitionSpeed control
  • Front/back content setup
  • Complete rotation examples
PulsingTile (Zoom Effects)

📄 Read: references/pulsing-tile.md

When user needs tiles with zoom animations. Covers:

  • PulsingTile configuration
  • Zoom in/out effects
  • PulseDuration property (interval control)
  • PulseScale property (zoom level)
  • Image translation effects
  • Media tile styling
  • Complete pulsing examples
Appearance and Styling

📄 Read: references/appearance-styling.md

When user wants to customize tile appearance. Covers:

  • Banner visibility and customization
  • Banner text, icons, and colors
  • Selection markers (Windows 8 style)
  • SelectionMarkerColor property
  • Hovered border colors
  • EnableHoverColor property
  • Expand on hover functionality
  • Tile press behavior (slide effect)
  • EnableTileSlideEffect property
  • Complete styling examples
Freezing and Control

📄 Read: references/freezing-control.md

When user needs to pause/resume tile animations. Covers:

  • IsFrozen property
  • Stopping animations programmatically
  • Dynamic freeze/unfreeze
  • Use cases for freezing (loading, user interaction)
  • State management
  • Complete control examples

Quick Start Examples

DefaultTile with Slide Transition
using Syncfusion.Windows.Forms.Tools;

// Create HubTile
HubTile newsTile = new HubTile();
newsTile.Size = new Size(200, 200);
newsTile.Location = new Point(20, 20);

// Set tile type
newsTile.TileType = HubTileType.DefaultTile;

// Configure content
newsTile.Title.Text = "Breaking News";
newsTile.Title.TextColor = Color.White;
newsTile.Footer.Text = "CNN";
newsTile.Footer.TextColor = Color.White;
newsTile.BackColor = Color.FromArgb(17, 158, 218);

// Set background image
newsTile.ImageSource = Image.FromFile("news.jpg");

// Enable live tile with transition
newsTile.TurnLiveTileOn = true;
newsTile.SlideTransition = TransitionDirection.BottomToTop;
newsTile.ImageTransitionSpeed = 3;

// Add to form
this.Controls.Add(newsTile);
RotateTile with Flip Animation
// Create rotating tile
HubTile rotateTile = new HubTile();
rotateTile.Size = new Size(200, 200);
rotateTile.Location = new Point(240, 20);

// Set tile type
rotateTile.TileType = HubTileType.RotateTile;

// Configure content
rotateTile.Title.Text = "Weather";
rotateTile.Title.TextColor = Color.White;
rotateTile.Footer.Text = "72°F Sunny";
rotateTile.Footer.TextColor = Color.White;
rotateTile.BackColor = Color.FromArgb(255, 140, 0);

// Configure rotation
rotateTile.TurnLiveTileOn = true;
rotateTile.RotationTransition = TileFlipDirection.Horizontal;
rotateTile.RotationTransitionSpeed = 2;

// Add image
rotateTile.ImageSource = Image.FromFile("weather.jpg");

this.Controls.Add(rotateTile);
PulsingTile for Media
// Create pulsing tile
HubTile mediaTile = new HubTile();
mediaTile.Size = new Size(200, 200);
mediaTile.Location = new Point(460, 20);

// Set tile type
mediaTile.TileType = HubTileType.PulsingTile;

// Configure content
mediaTile.Title.Text = "Now Playing";
mediaTile.Title.TextColor = Color.White;
mediaTile.Footer.Text = "Music";
mediaTile.Footer.TextColor = Color.White;
mediaTile.BackColor = Color.FromArgb(139, 0, 139);

// Configure pulsing effect
mediaTile.TurnLiveTileOn = true;
mediaTile.PulseDuration = 2;
mediaTile.PulseScale = 1.5f;

// Add album art
mediaTile.ImageSource = Image.FromFile("album.jpg");

this.Controls.Add(mediaTile);

Tile Type Selection Guide

NeedUse This TypeWhy
Sequential content updatesDefaultTileSmooth slide transitions show progression
Directional flow (news feed)DefaultTile (BottomToTop)Natural reading flow for updates
Dual-state contentRotateTileFlip reveals alternate information
Front/back contentRotateTilePerfect for question/answer, info/details
Media content displayPulsingTileMatches Windows Phone music/video style
Draw attentionPulsingTileZoom effect creates visual interest
Static animated tileAny type with IsFrozen = falseAutomatic animations
Interactive tileDefaultTile + EnableTileSlideEffectPress feedback effect

Common Patterns

Pattern 1: Dashboard with Multiple Tile Types
// Create dashboard layout
FlowLayoutPanel dashboard = new FlowLayoutPanel();
dashboard.Dock = DockStyle.Fill;
dashboard.BackColor = Color.FromArgb(30, 30, 30);
dashboard.Padding = new Padding(10);

// News tile (DefaultTile with slide)
HubTile newsTile = CreateDefaultTile("News", "Latest Updates", Color.FromArgb(17, 158, 218));
newsTile.SlideTransition = TransitionDirection.BottomToTop;
dashboard.Controls.Add(newsTile);

// Weather tile (RotateTile with flip)
HubTile weatherTile = CreateRotateTile("Weather", "72°F", Color.FromArgb(255, 140, 0));
weatherTile.RotationTransition = TileFlipDirection.Horizontal;
dashboard.Controls.Add(weatherTile);

// Media tile (PulsingTile with zoom)
HubTile mediaTile = CreatePulsingTile("Music", "Now Playing", Color.FromArgb(139, 0, 139));
mediaTile.PulseScale = 1.3f;
dashboard.Controls.Add(mediaTile);

this.Controls.Add(dashboard);
Pattern 2: Tile with Banner Notification
HubTile notificationTile = new HubTile();
notificationTile.TileType = HubTileType.DefaultTile;
notificationTile.Size = new Size(200, 200);

// Main content
notificationTile.Title.Text = "Messages";
notificationTile.Footer.Text = "Inbox";
notificationTile.BackColor = Color.FromArgb(0, 120, 215);

// Enable banner
notificationTile.ShowBanner = true;
notificationTile.Banner.Text = "5 new messages";
notificationTile.Banner.TextColor = Color.White;
notificationTile.BannerColor = Color.FromArgb(255, 0, 0);

// Optional banner icon
notificationTile.ShowBannerIcon = true;
notificationTile.BannerIcon = Image.FromFile("notification.png");

// Enable transition
notificationTile.TurnLiveTileOn = true;
notificationTile.SlideTransition = TransitionDirection.LeftToRight;
Pattern 3: Interactive Tile with Hover Effects
HubTile interactiveTile = new HubTile();
interactiveTile.TileType = HubTileType.DefaultTile;
interactiveTile.Size = new Size(200, 200);

// Content
interactiveTile.Title.Text = "Documents";
interactiveTile.Footer.Text = "Recent Files";
interactiveTile.BackColor = Color.FromArgb(0, 150, 136);

// Enable hover effects
interactiveTile.EnableHoverColor = true;
interactiveTile.HoveredBorderColor = Color.White;
interactiveTile.ExpandOnHover = true;

// Enable press effect
interactiveTile.EnableTileSlideEffect = true;

// Selection marker
interactiveTile.IsSelectionMarked = true;
interactiveTile.SelectionMarkerColor = Color.Yellow;

// Click handler
interactiveTile.Click += (s, e) => {
    MessageBox.Show("Tile clicked!");
};
Pattern 4: Freeze/Unfreeze on Interaction
HubTile controlledTile = new HubTile();
controlledTile.TileType = HubTileType.RotateTile;
controlledTile.TurnLiveTileOn = true;

// Freeze on mouse enter
controlledTile.MouseEnter += (s, e) => {
    controlledTile.IsFrozen = true;
};

// Unfreeze on mouse leave
controlledTile.MouseLeave += (s, e) => {
    controlledTile.IsFrozen = false;
};

Key Properties

Common Properties (All Tile Types)
PropertyTypeDescription
TileTypeHubTileTypeDefaultTile, RotateTile, or PulsingTile
TurnLiveTileOnboolEnable/disable animations
IsFrozenboolFreeze animations temporarily
Title.TextstringTitle text (top of tile)
Title.TextColorColorTitle text color
Footer.TextstringFooter text (bottom of tile)
Footer.TextColorColorFooter text color
ImageSourceImageBackground image
BackColorColorTile background color
DefaultTile Properties
PropertyTypeDescription
SlideTransitionTransitionDirectionBottomToTop, TopToBottom, LeftToRight, RightToLeft
ImageTransitionSpeedintTransition speed (1-10, higher = faster)
ShowBannerboolDisplay banner overlay
Banner.TextstringBanner notification text
BannerColorColorBanner background color
ShowBannerIconboolDisplay icon in banner
BannerIconImageBanner icon image
IsSelectionMarkedboolShow selection marker (Windows 8 style)
SelectionMarkerColorColorSelection marker border color
EnableHoverColorboolEnable hover border highlight
HoveredBorderColorColorBorder color on hover
ExpandOnHoverboolExpand tile on mouse hover
EnableTileSlideEffectboolSlide effect on mouse press
RotateTile Properties
PropertyTypeDescription
RotationTransitionTileFlipDirectionHorizontal or Vertical rotation
RotationTransitionSpeedintRotation speed (1-10, higher = faster)
PulsingTile Properties
PropertyTypeDescription
PulseDurationintInterval between zoom in/out (seconds)
PulseScalefloatZoom level (1.0 = 100%, 2.0 = 200%)

Common Use Cases

1. Application Dashboard

Scenario: Windows 8-style start screen with multiple app tiles
Solution: FlowLayoutPanel with multiple HubTiles using different tile types and transitions

2. Live News Feed

Scenario: News tiles that slide in updates from bottom
Solution: DefaultTile with BottomToTop transition, periodic content updates via timer

3. Media Library

Scenario: Music/Video tiles with pulsing animations
Solution: PulsingTile with appropriate PulseScale and album/video art

4. Status Monitor

Scenario: System status tiles that rotate to show details
Solution: RotateTile with front showing status icon, back showing detailed metrics

5. Notification Center

Scenario: Tiles with banner notifications for alerts
Solution: DefaultTile with ShowBanner enabled, update Banner.Text dynamically

6. Interactive Menu

Scenario: Touch-friendly navigation tiles
Solution: DefaultTile with EnableTileSlideEffect, ExpandOnHover, and click handlers

Best Practices

  1. Choose appropriate tile type - DefaultTile for sequential content, RotateTile for dual-state, PulsingTile for media
  2. Set reasonable transition speeds - Speed 2-4 provides smooth animations without being jarring
  3. Use consistent sizing - Standard Windows 8 tiles are 150x150, 310x150, or 310x310
  4. Apply cohesive color schemes - Use related colors for tiles in same category
  5. Enable live tiles selectively - Don't animate all tiles simultaneously to avoid distraction
  6. Provide clear title/footer - Help users identify tile purpose at a glance
  7. Use banners for urgent notifications - Reserve banner space for important updates
  8. Freeze on interaction - Consider freezing tiles when user hovers to prevent distraction
  9. Test transition directions - Ensure slide direction matches content flow logic
  10. Handle click events - Make tiles interactive with meaningful click actions

Tile Styling Guidelines

Windows 8 Color Palette
// Microsoft-inspired colors
Color TealBlue = Color.FromArgb(0, 120, 215);      // Default blue
Color LimeGreen = Color.FromArgb(16, 137, 62);     // Success/positive
Color OrangeRed = Color.FromArgb(202, 80, 16);     // Warning
Color CrimsonRed = Color.FromArgb(232, 17, 35);    // Error/urgent
Color Purple = Color.FromArgb(107, 105, 214);      // Media/entertainment
Color Teal = Color.FromArgb(0, 153, 188);          // Information
Size Recommendations
// Small tile (single)
Size smallTile = new Size(150, 150);

// Wide tile (horizontal)
Size wideTile = new Size(310, 150);

// Large tile
Size largeTile = new Size(310, 310);

Comments

Markdown supported