Skip to main content

syncfusion-winui-funnel-chart

Implement Syncfusion WinUI Funnel Chart (SfFunnelChart) for visualizing data across stages in a process or workflow. Use this when working with funnel charts, conversion funnels, sales pipelines, or process stage analysis in WinUI applications. This skill covers stage-based metrics, hierarchical data representation with decreasing values, and visual representation of progressive reduction in data values across sequential stages.

Source facts

Repository
syncfusion/winui-ui-components-skills
Last source activity
July 6, 2026 at 07:16
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
10 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
syncfusion-winui-funnel-chart
description
Implement Syncfusion WinUI Funnel Chart (SfFunnelChart) for visualizing data across stages in a process or workflow. Use this when working with funnel charts, conversion funnels, sales pipelines, or process stage analysis in WinUI applications. This skill covers stage-based metrics, hierarchical data representation with decreasing values, and visual representation of progressive reduction in data values across sequential stages.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing Syncfusion WinUI Funnel Charts The Syncfusion WinUI Funnel Chart (`SfFunnelChart`) is a specialized data visualization control for representing data that progressively decreases across stages in a process. It's ideal for analyzing conversion rates, sales pipelines, recruitment processes, and any workflow with sequential stages. ## When to Use This Skill Use this skill when the user needs to: - **Visualize conversion funnels** - Sales pipelines, marketing campaigns, user acquisition flows - **Analyze process stages** - Recruitment pipelines, order fulfillment, application workflows - **Display hierarchical data** - Data that naturally decreases from stage to stage - **Create stage-based metrics** - Performance tracking across sequential phases - **Implement interactive data exploration** - With tooltips, selection, and segment explosion - **Customize visual appearance** - Palettes, gradients, labels, legends, and styling ## Component Overview The `SfFunnelChart` is part of the `Syncfusion.Chart.WinUI` NuGet package and provides: - **Data binding** with `ItemsSource`, `XBindingPath`, and `YBindingPath` - **Visual customization** through titles, legends, data labels, and appearance settings - **Interactive features** including tooltips, selection, and exploding segments - **Flexible rendering** with multiple modes and layout options - **Rich styling** using palettes, gradients, and custom templates ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) Use this reference when you need to: - Install the Syncfusion.Chart.WinUI NuGet package - Set up basic chart structure with XAML or C# - Configure namespace imports (`Syncfusion.UI.Xaml.Charts`) - Create and bind a ViewModel with data - Set `XBindingPath` and `YBindingPath` for data mapping - Display your first funnel chart with basic configuration ### Title Customization 📄 **Read:** [references/title-customization.md](references/title-customization.md) Use this reference when you need to: - Add a title to the chart using the `Header` property - Customize title appearance with custom templates - Align the title (left, center, right) - Style title elements with borders, colors, and fonts - Create complex title layouts ### Legend Configuration 📄 **Read:** [references/legend.md](references/legend.md) Use this reference when you need to: - Enable and configure the chart legend - Add a legend title or header - Customize legend icons (size, visibility) - Control legend item spacing and layout - Add checkboxes for toggling segment visibility - Position the legend (top, bottom, left, right) - Style the legend background and borders - Create custom legend item templates ### Data Labels 📄 **Read:** [references/data-labels.md](references/data-labels.md) Use this reference when you need to: - Enable data labels with `ShowDataLabels` - Configure label context (YValue, Percentage, XValue) - Customize label appearance (colors, fonts, borders) - Format label values with custom patterns - Rotate labels for better positioning - Create custom label templates ### Tooltips 📄 **Read:** [references/tooltip.md](references/tooltip.md) Use this reference when you need to: - Enable tooltips with `EnableTooltip` - Configure `ChartTooltipBehavior` for customization - Style tooltip background and borders - Customize tooltip label text styles - Position tooltips with alignment and offset properties - Control tooltip timing (duration, delay, animation) - Create custom tooltip templates ### Selection 📄 **Read:** [references/selection.md](references/selection.md) Use this reference when you need to: - Enable segment selection with `DataPointSelectionBehavior` - Configure selection types (Single, SingleDeselect, Multiple, None) - Customize selection appearance with `SelectionBrush` - Programmatically select segments using `SelectedIndex` or `SelectedIndexes` - Handle selection events (`SelectionChanging`, `SelectionChanged`) - Implement custom selection logic ### Exploding Segments 📄 **Read:** [references/exploding-segments.md](references/exploding-segments.md) Use this reference when you need to: - Explode specific segments to draw attention - Configure `ExplodeIndex` for initial explosion - Set `ExplodeOffset` to control explosion distance - Enable `ExplodeOnTap` for interactive explosion - Highlight important data points visually ### Appearance and Styling 📄 **Read:** [references/appearance-styling.md](references/appearance-styling.md) Use this reference when you need to: - Apply predefined palette brushes - Create custom color palettes - Apply linear gradients to segments - Apply radial gradients to segments - Configure gradient stops and colors - Design cohesive color schemes ### Advanced Features 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) Use this reference when you need to: - Add spacing between segments using `GapRatio` - Customize the neck width with `MinimumWidth` - Create inverted pyramids - Configure rendering mode (`ValueIsHeight` vs `ValueIsWidth`) - Optimize chart performance - Handle edge cases and complex scenarios ## Quick Start Example Here's a minimal example to create a funnel chart with legend and data labels: ### XAML Implementation ```xml <Window x:Class="FunnelChartDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:chart="using:Syncfusion.UI.Xaml.Charts" xmlns:model="using:FunnelChartDemo.ViewModel"> <chart:SfFunnelChart x:Name="chart" Header="SALES PIPELINE" EnableTooltip="True" ShowDataLabels="True" Height="400" Width="600" ItemsSource="{Binding Data}" XBindingPath="Stage" YBindingPath="Value"> <chart:SfFunnelChart.DataContext> <model:ChartViewModel /> </chart:SfFunnelChart.DataContext> <chart:SfFunnelChart.Legend> <chart:ChartLegend /> </chart:SfFunnelChart.Legend> </chart:SfFunnelChart> </Window> ``` ### C# Implementation ```csharp using Syncfusion.UI.Xaml.Charts; public sealed partial class MainWindow : Window { public MainWindow() { this.InitializeComponent(); SfFunnelChart chart = new SfFunnelChart(); ChartViewModel viewModel = new ChartViewModel(); chart.DataContext = viewModel; chart.SetBinding( SfFunnelChart.ItemsSourceProperty, new Binding() { Path = new PropertyPath("Data") }); chart.XBindingPath = "Stage"; chart.YBindingPath = "Value"; chart.Header = "SALES PIPELINE"; chart.Height = 400; chart.Width = 600; chart.Legend = new ChartLegend(); chart.EnableTooltip = true; chart.ShowDataLabels = true; this.Content = chart; } } ``` ### ViewModel ```csharp public class Model { public string Stage { get; set; } public double Value { get; set; } } public class ChartViewModel { public List<Model> Data { get; set; } public ChartViewModel() { Data = new List<Model>() { new Model() { Stage = "Leads", Value = 1000 }, new Model() { Stage = "Qualified", Value = 750 }, new Model() { Stage = "Proposal", Value = 500 }, new Model() { Stage = "Negotiation", Value = 300 }, new Model() { Stage = "Closed Won", Value = 150 } }; } } ``` ## Common Patterns ### Pattern 1: Sales Funnel with Custom Colors ```xml <Grid> <Grid.Resources> <BrushCollection x:Key="salesColors"> <SolidColorBrush Color="#4dd0e1"/> <SolidColorBrush Color="#26c6da"/> <SolidColorBrush Color="#00bcd4"/> <SolidColorBrush Color="#0097a7"/> <SolidColorBrush Color="#00838f"/> </BrushCollection> </Grid.Resources> <chart:SfFunnelChart ItemsSource="{Binding Data}" XBindingPath="Stage" YBindingPath="Value" PaletteBrushes="{StaticResource salesColors}" ShowDataLabels="True"> <chart:SfFunnelChart.DataLabelSettings> <chart:FunnelDataLabelSettings Context="Percentage" Foreground="White" /> </chart:SfFunnelChart.DataLabelSettings> </chart:SfFunnelChart> </Grid> ``` ### Pattern 2: Interactive Funnel with Selection ```xml <chart:SfFunnelChart ItemsSource="{Binding Data}" XBindingPath="Stage" YBindingPath="Value" EnableTooltip="True"> <chart:SfFunnelChart.SelectionBehavior> <chart:DataPointSelectionBehavior SelectionBrush="Orange" Type="Single"/> </chart:SfFunnelChart.SelectionBehavior> <chart:SfFunnelChart.TooltipBehavior> <chart:ChartTooltipBehavior /> </chart:SfFunnelChart.TooltipBehavior> </chart:SfFunnelChart> ``` ### Pattern 3: Exploded Segment Emphasis ```xml <chart:SfFunnelChart ItemsSource="{Binding Data}" XBindingPath="Stage" YBindingPath="Value" ExplodeIndex="2" ExplodeOffset="40" ExplodeOnTap="True" GapRatio="0.1"> </chart:SfFunnelChart> ``` ## Key Properties Reference ### Essential Properties - `ItemsSource` - Data source for the chart - `XBindingPath` - Property path for segment labels (stage names) - `YBindingPath` - Property path for segment values - `Header` - Chart title (string or UIElement) - `Legend` - ChartLegend instance for displaying segment information ### Visual Properties - `ShowDataLabels` - Enable/disable data labels (bool) - `EnableTooltip` - Enable/disable tooltips (bool) - `PaletteBrushes` - Custom color palette (BrushCollection) - `GapRatio` - Spacing between segments (0.0 to 1.0) - `MinimumWidth` - Neck width at the bottom (double) ### Rendering Properties - `Mode` - Rendering mode: `ValueIsHeight` or `ValueIsWidth` - `Height` / `Width` - Chart dimensions ### Interaction Properties - `SelectionBehavior` - Configure segment selection - `ExplodeIndex` - Index of segment to explode - `ExplodeOffset` - Distance of exploded segment - `ExplodeOnTap` - Enable interactive explosion ### Configuration Objects - `DataLabelSettings` - FunnelDataLabelSettings for label customization - `TooltipBehavior` - ChartTooltipBehavior for tooltip customization ## Common Use Cases ### Sales and Marketing Analytics - Visualize sales pipeline stages from leads to closed deals - Track marketing campaign conversion rates - Analyze customer acquisition funnels - Display website visitor conversion paths ### Business Process Analysis - Recruitment pipeline visualization (applicants → hired) - Order fulfillment stages - Customer support ticket resolution flow - Product development milestones ### E-commerce and Retail - Shopping cart abandonment analysis - Checkout process completion rates - Product browsing to purchase conversion - Customer journey mapping ### Financial Services - Loan application process stages - Investment funnel analysis - Customer onboarding progress - Account upgrade conversion tracking ## Related Skills - [Implementing Syncfusion WinUI Components](../../) - Parent library skill - Other WinUI Chart Types (if available in the library) --- **Need help?** Refer to the specific reference files above based on the feature you want to implement.
View on GitHub