MCPInstall

syncfusion-winui-rating

Guide for implementing the Syncfusion WinUI Rating (SfRating) control to collect user ratings and feedback on a numeric scale. Use this when implementing star ratings, user reviews, or feedback collection in WinUI 3. This skill covers precision modes (full, half, exact), custom templates, tooltips, and read-only rating display.

Installs
47
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-rating
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-winui-rating automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Rating Control (SfRating)

The Syncfusion WinUI Rating control (SfRating) provides an intuitive interface for users to provide or view ratings on a numeric scale. Perfect for reviews, feedback systems, and rating displays, it supports various precision modes, custom templates, and extensive styling options.

When to Use This Skill

Use the Rating control when you need to:

  • Collect user feedback - Gather ratings for products, services, movies, or applications
  • Display existing ratings - Show average ratings or user scores in read-only mode
  • Create review systems - Build comprehensive review and rating interfaces
  • Implement feedback forms - Add rating inputs to surveys and feedback forms
  • Show satisfaction levels - Display emoji-based or star-based satisfaction scales
  • Support precision ratings - Allow whole, half, or exact decimal ratings

Trigger keywords: rating, stars, star rating, SfRating, review, feedback, score, user rating, half star, precision, emoji rating, satisfaction, product rating

Component Overview

Control: SfRating
Namespace: Syncfusion.UI.Xaml.Editors
NuGet Package: Syncfusion.Editors.WinUI
Platform: WinUI 3 Desktop (.NET 5+)

Key Capabilities

  • Flexible initialization - Use Items collection or ItemsCount property
  • Precision modes - Full (whole), Half (0.5 increments), or Exact (any decimal)
  • Custom templates - Stars, hearts, emojis, images, or custom shapes
  • Styling options - Customize rated/unrated appearance, size, and orientation
  • Read-only mode - Display ratings without allowing user interaction
  • Tooltip support - Show rating values on hover with custom formatting
  • Clear functionality - Allow users to reset their ratings
  • Placeholder values - Display average ratings before user input
  • Accessibility - Full keyboard navigation and screen reader support

Documentation and Navigation Guide

Getting Started and Basic Usage

📄 Read: references/getting-started.md

  • Installing Syncfusion.Editors.WinUI NuGet package
  • Creating WinUI 3 desktop application
  • Importing Syncfusion.UI.Xaml.Editors namespace
  • Initializing SfRating control in XAML and C#
  • Using Items collection approach with SfRatingItem
  • Using ItemsCount approach (simpler method)
  • Setting rating values programmatically
  • First complete rating implementation

Precision Modes

📄 Read: references/precision.md

  • Understanding Precision property
  • Full precision mode (whole numbers only: 1, 2, 3, etc.)
  • Half precision mode (half increments: 1.5, 2.5, 3.5, etc.)
  • Exact precision mode (any decimal value: 2.7, 3.2, etc.)
  • User interaction behavior for each mode
  • Choosing the right precision for your use case
  • Examples demonstrating each precision type

Customization Options

📄 Read: references/customization.md references/customization-advanced.md

  • Styling rated and unrated items (RatedItemStyle, UnratedItemStyle)
  • Controlling item size (ItemSize property)
  • Changing orientation (horizontal or vertical)
  • Read-only mode for display purposes (IsReadOnly)
  • Clearing ratings functionality (IsClearEnabled)
  • Showing placeholder values (PlaceholderValue)
  • Combining multiple customization options
  • Complete real-world styling examples

Templates and Custom Visuals

📄 Read: references/templates.md

  • ItemTemplateSelector overview
  • Creating path-based templates (hearts, custom shapes)
  • Implementing image-based templates (emoji ratings)
  • Using font icons as rating items
  • Building custom DataTemplateSelector classes
  • Managing selected vs unselected states
  • Complete emoji rating implementation
  • Complete heart rating implementation

Tooltip Features

📄 Read: references/tooltip-features.md references/tooltip-customization.md

  • Enabling tooltips on hover (EnableToolTip property)
  • Formatting tooltip content (ToolTipFormat property)
  • Using standard numeric format strings
  • Creating custom format patterns
  • Enhancing user feedback with tooltips
  • Accessibility benefits of tooltips
  • Theme-adaptive tooltip styling

Quick Start Example

Basic 5-Star Rating

XAML:

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:syncfusion="using:Syncfusion.UI.Xaml.Editors">
    
    <Grid>
        <syncfusion:SfRating Value="3" ItemsCount="5"/>
    </Grid>
</Page>

C#:

using Syncfusion.UI.Xaml.Editors;

// Create rating control
SfRating rating = new SfRating();
rating.Value = 3;
rating.ItemsCount = 5;

Common Patterns

1. Standard 5-Star Rating

<syncfusion:SfRating Value="4" ItemsCount="5"/>

2. Half-Star Rating System

<syncfusion:SfRating 
    Value="3.5" 
    ItemsCount="5" 
    Precision="Half"/>

3. Read-Only Rating Display

<StackPanel>
    <TextBlock Text="Average Rating:"/>
    <syncfusion:SfRating 
        Value="4.2" 
        ItemsCount="5" 
        Precision="Exact"
        IsReadOnly="True"/>
</StackPanel>

4. Rating with Tooltip

<syncfusion:SfRating 
    Value="3" 
    ItemsCount="5"
    EnableToolTip="True"
    ToolTipFormat="0.0"/>

5. Larger Rating Items

<syncfusion:SfRating 
    Value="4" 
    ItemsCount="5"
    ItemSize="40"/>

6. Vertical Rating

<syncfusion:SfRating 
    Value="3" 
    ItemsCount="5"
    Orientation="Vertical"/>

7. Rating with Placeholder

<syncfusion:SfRating 
    ItemsCount="5"
    PlaceholderValue="3.5"/>

8. Clearable Rating

<syncfusion:SfRating 
    Value="4" 
    ItemsCount="5"
    IsClearEnabled="True"/>

Key Properties

PropertyTypeDefaultDescription
Valuedouble0Current rating value
ItemsCountint5Number of rating items to display
PrecisionRatingPrecisionFullRating accuracy (Full/Half/Exact)
ItemSizedouble24Size of each rating item
OrientationOrientationHorizontalLayout direction (Horizontal/Vertical)
IsReadOnlyboolfalsePrevents user interaction
IsClearEnabledbooltrueAllows clearing the rating
PlaceholderValuedouble0Initial display value before user rating
EnableToolTipboolfalseShow value on hover
ToolTipFormatstringnullFormat string for tooltip content
RatedItemStyleStylenullStyle for filled/selected items
UnratedItemStyleStylenullStyle for empty/unselected items
ItemTemplateSelectorDataTemplateSelectornullCustom visual templates

Property Usage Tips

Value vs PlaceholderValue:

  • Value: User's actual rating
  • PlaceholderValue: Shows average/suggested rating before user interaction

Precision Modes:

  • Full: Reviews, simple ratings (1, 2, 3, 4, 5)
  • Half: Product ratings, more granular feedback (3.5, 4.0, 4.5)
  • Exact: Analytics displays, precise averages (4.23, 3.87)

IsReadOnly:

  • Use true for displaying ratings (product listings, reviews summary)
  • Use false for collecting ratings (review forms, feedback)

IsClearEnabled:

  • true: User can remove their rating by clicking first star again
  • false: Once set, rating cannot be cleared (only changed)

Common Use Cases

Product Review System

<StackPanel>
    <TextBlock Text="Rate this product:" FontWeight="Bold"/>
    <syncfusion:SfRating 
        x:Name="ProductRating"
        Value="0" 
        ItemsCount="5"
        Precision="Half"
        EnableToolTip="True"
        ToolTipFormat="0.0"
        ValueChanged="ProductRating_ValueChanged"/>
</StackPanel>
private void ProductRating_ValueChanged(object sender, ValueChangedEventArgs e)
{
    // Save rating to database
    SaveProductRating(e.NewValue);
}

Average Rating Display

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    
    <syncfusion:SfRating 
        Grid.Column="0"
        Value="{Binding AverageRating}" 
        ItemsCount="5"
        Precision="Exact"
        IsReadOnly="True"
        ItemSize="20"/>
    
    <TextBlock 
        Grid.Column="1"
        Text="{Binding AverageRating, StringFormat='({0:0.0})'}"
        VerticalAlignment="Center"
        Margin="10,0,0,0"/>
</Grid>

Satisfaction Survey

<StackPanel Spacing="15">
    <TextBlock Text="How satisfied are you with our service?"/>
    <syncfusion:SfRating 
        Value="3" 
        ItemsCount="5"
        ItemSize="50"
        EnableToolTip="True"/>
</StackPanel>

Movie Rating Interface

<StackPanel>
    <TextBlock Text="Rate this movie:" FontSize="16"/>
    <syncfusion:SfRating 
        Value="0" 
        ItemsCount="5"
        Precision="Half"
        ItemSize="35"
        EnableToolTip="True"
        ToolTipFormat="0.0 stars"/>
</StackPanel>

Best Practices

User Experience

  • Precision selection: Use Full for simple ratings, Half for products, Exact for display only
  • Clear feedback: Enable tooltips to show exact values
  • Appropriate sizing: Use 24-32px for standard forms, 40-50px for prominent ratings
  • Placeholder values: Show average ratings to guide user expectations
  • Allow clearing: Enable IsClearEnabled unless rating is mandatory

Visual Design

  • Consistent styling: Use the same style across your application
  • Adequate spacing: Ensure items don't overlap or feel cramped
  • Theme adaptation: Test in both light and dark themes
  • Color contrast: Ensure filled items are clearly distinguishable from empty
  • Custom templates: Use recognizable icons (stars, hearts, thumbs)

Accessibility

  • Enable tooltips: Helps all users understand exact values
  • Keyboard support: Rating control supports arrow key navigation
  • Read-only indication: Make it clear when ratings are display-only
  • Label association: Always include descriptive text labels
  • Screen readers: Control announces current value and range

Performance

  • ItemsCount: Use 5 for standard ratings, 10 maximum for performance
  • Templates: Simple templates perform better than complex images
  • Data binding: Bind to ViewModel properties for reactive updates

Common Mistakes to Avoid

  • ❌ Using Exact precision with user input (difficult to control precisely)
  • ❌ Forgetting to set IsReadOnly="True" for display ratings
  • ❌ Not providing labels or context for the rating
  • ❌ Using too many items (>10 becomes hard to use)
  • ❌ Omitting tooltips on Half/Exact precision ratings
  • ❌ Not importing Syncfusion.UI.Xaml.Editors namespace

Troubleshooting

Rating value not updating:

  • Verify IsReadOnly is false
  • Check if Value is bound correctly (TwoWay binding)
  • Ensure ValueChanged event is hooked up

Stars not displaying:

  • Confirm NuGet package is installed
  • Verify namespace import: xmlns:syncfusion="using:Syncfusion.UI.Xaml.Editors"
  • Check if Syncfusion license is registered

Half-star not showing:

  • Set Precision="Half"
  • Ensure Value uses .5 increments (3.5, 4.0, 4.5)

Custom template not appearing:

  • Verify DataTemplateSelector is properly implemented
  • Check if templates are defined in Resources
  • Ensure ItemTemplateSelector property is set

Tooltip not visible:

  • Set EnableToolTip="True"
  • Check if mouse hover is triggering (test with different elements)

Events

ValueChanged:

private void Rating_ValueChanged(object sender, ValueChangedEventArgs e)
{
    double oldValue = e.OldValue;
    double newValue = e.NewValue;
    
    // Handle rating change
    Debug.WriteLine($"Rating changed from {oldValue} to {newValue}");
}

Need more details? Read the reference files linked in the Navigation Guide above for comprehensive documentation and examples.

FAQ

What does the syncfusion-winui-rating skill do?

Guide for implementing the Syncfusion WinUI Rating (SfRating) control to collect user ratings and feedback on a numeric scale. Use this when implementing star ratings, user reviews, or feedback collection in WinUI 3. This skill covers precision modes (full, half, exact), custom templates, tooltips, and read-only rating display.

How do I install syncfusion-winui-rating?

Run npx skills add https://github.com/syncfusion/winui-ui-components-skills --skill syncfusion-winui-rating in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winui-rating/ (personal) or .claude/skills/syncfusion-winui-rating/ (project).

Which AI agents can use syncfusion-winui-rating?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-winui-rating safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-winui-rating?

It is published by syncfusion in syncfusion/winui-ui-components-skills. It has 47 recorded installs.

More from syncfusion/winui-ui-components-skills

View all →

syncfusion-winui-getting-started

syncfusion/winui-ui-components-skills

Comprehensive guide for setting up Syncfusion WinUI components, including license registration, NuGet package installation, system requirements verification, and troubleshooting. Use this skill when users need help with Syncfusion licensing, installation, WinUI component configuration, theme setup, or resolving installation errors.

syncfusion-winui-datagrid

syncfusion/winui-ui-components-skills

Guide for implementing Syncfusion WinUI DataGrid (SfDataGrid) for tabular data display in desktop applications. Use this skill when working with data grids, sorting, filtering, grouping, or CRUD operations. Covers data binding, column configuration, master-details views, Excel export, and performance optimization including data virtualization and custom templates.

syncfusion-winui-badge

syncfusion/winui-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-winui-treeview

syncfusion/winui-ui-components-skills

Comprehensive guide for implementing Syncfusion WinUI TreeView (SfTreeView) control in desktop applications. Use this skill when working with hierarchical data display, tree structures, or node-based navigation. Covers TreeView implementation for file explorers, organization charts, category browsers, and expandable/collapsible data visualization in WinUI applications.

syncfusion-winui-numberbox

syncfusion/winui-ui-components-skills

Learn to implement Syncfusion WinUI NumberBox (SfNumberBox) control for numeric input with validation, custom formatting, and value restrictions. Use this skill when you need numeric input fields with currency, percentage, or decimal formatting in WinUI applications.

syncfusion-winui-treegrid

syncfusion/winui-ui-components-skills

Guide for implementing Syncfusion WinUI TreeGrid (SfTreeGrid) components for displaying hierarchical or self-relational data. Use this skill when working with tree-structured grids, parent-child data relationships, or expandable grid rows. Covers TreeGrid features for organizational charts, file system displays, and multi-level data representation in WinUI applications.

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs