![]() |
VOOZH | about |
Syncfusion AI Assistant
5 Jun 202615 minutes to read
This section explains how to populate the pyramid chart with data, a title, data labels, a legend, and tooltips, as well as the essential aspects for getting started with the pyramid chart.
To get start quickly with our .NET MAUI Pyramid Chart, you can check the below video.
Before proceeding, ensure the following are set up:
Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfPyramidChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfPyramidChart chart = new SfPyramidChart();
this.Content = chart;
}
}Before proceeding, ensure the following are set up:
Ctrl+Shift+P and type .NET:New Project and enter.dotnet add package Syncfusion.Maui.Charts to install the Syncfusion® .NET MAUI Charts NuGet package.dotnet restore.Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfPyramidChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfPyramidChart chart = new SfPyramidChart();
this.Content = chart;
}
}Before proceeding, ensure the following are set up:
dotnet restore
Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfPyramidChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfPyramidChart chart = new SfPyramidChart();
this.Content = chart;
}
}Now, let us define a simple data model that represents a data point in the chart.
public class StageModel
{
public string Name { get; set; }
public double Value { get; set; }
}Next, create a StageViewModel class and initialize a list of StageModel objects as follows.
public class StageViewModel
{
public List<StageModel> Data { get; set; }
public StageViewModel()
{
Data = new List<StageModel>()
{
new StageModel(){Name = "Stage A", Value = 12},
new StageModel(){Name = "Stage B", Value = 21},
new StageModel(){Name = "Stage C", Value = 29},
new StageModel(){Name = "Stage D", Value = 37},
};
}
}Create a StageViewModel instance and set it as the chart’s BindingContext. This enables property binding from StageViewModel class.
NOTE
Add the namespace of
StageViewModelclass to your XAML Page, if you prefer to setBindingContextin XAML.
<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
xmlns:model="clr-namespace:ChartGettingStarted">
<chart:SfPyramidChart>
<chart:SfPyramidChart.BindingContext>
<model:StageViewModel/>
</chart:SfPyramidChart.BindingContext>
</chart:SfPyramidChart>
</ContentPage>SfPyramidChart chart = new SfPyramidChart();
StageViewModel viewModel = new StageViewModel();
chart.BindingContext = viewModel;
this.Content = chart;Binding Data to the pyramid chart ItemsSource property from its BindingContext to create our own pyramid chart.
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ChartGettingStarted.MainPage"
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
xmlns:model="clr-namespace:ChartGettingStarted">
<chart:SfPyramidChart ItemsSource="{Binding Data}"
ShowDataLabels="True"
EnableTooltip="True"
XBindingPath="Name"
YBindingPath="Value">
<chart:SfPyramidChart.Title>
<Label Text="Pyramid Stages"/>
</chart:SfPyramidChart.Title>
<chart:SfPyramidChart.BindingContext>
<model:StageViewModel/>
</chart:SfPyramidChart.BindingContext>
<chart:SfPyramidChart.Legend>
<chart:ChartLegend/>
</chart:SfPyramidChart.Legend>
</chart:SfPyramidChart>
</ContentPage>using Syncfusion.Maui.Charts;
public partial class MainPage : ContentPage
{
public MainWindow()
{
SfPyramidChart chart = new SfPyramidChart();
chart.Title = new Label()
{
Text = "Pyramid Stages"
};
chart.Legend = new ChartLegend();
StageViewModel viewModel = new StageViewModel();
chart.BindingContext = viewModel;
chart.ItemsSource = viewModel.Data;
chart.XBindingPath = "Name";
chart.YBindingPath = "Value";
chart.EnableTooltip = true;
chart.ShowDataLabels = true;
this.Content = chart;
}
}👁 Pyramid chart in .NET MAUI Chart
You can find the complete getting started sample from this link.