Avalonia Pro 未提供的 Avalonia 控件
sgcUI 为 Avalonia 12 应用增加了计划器、看板、甘特图、透视表、图表设计器、仪表板、向导、地图和报表。这些控件运行在您的 Avalonia 应用中,与 Avalonia 控件和 FluentTheme 并存,如果您使用 Avalonia Pro 控件,也可以并存。对于网格、图表、PDF 查看器和富文本编辑器,sgcUI 还提供第二种许可模式。本套件展示这两种做法,XAML 来自一个可以编译并通过自检的示例。
sgcUI 为 Avalonia 12 应用增加了计划器、看板、甘特图、透视表、图表设计器、仪表板、向导、地图和报表。这些控件运行在您的 Avalonia 应用中,与 Avalonia 控件和 FluentTheme 并存,如果您使用 Avalonia Pro 控件,也可以并存。对于网格、图表、PDF 查看器和富文本编辑器,sgcUI 还提供第二种许可模式。本套件展示这两种做法,XAML 来自一个可以编译并通过自检的示例。
您保留 Avalonia、它的主题、工具和您的视图模型。sgcUI 是您添加的一组控件,不是需要迁移过去的框架。
保留您的订阅,再添加 Avalonia Pro 页面上没有列出的控件:计划器、甘特图、看板、透视表、图表设计器、仪表板、向导、地图和报表。它们共用 sgc XAML 前缀,绑定到您的视图模型,并跟随您应用的 Fluent 主题变体。
如果转到 Community 层级意味着您的团队现在需要付费的 Avalonia 层级才能使用高级控件,请比较各种选择。sgcUI 为 Avalonia 提供自己的网格、图表、PDF 查看器和富文本编辑器,按开发者授权并附带完整 C# 源代码,同一份许可还包括这些控件的 WinForms 和 WPF 版本。
Avalonia 的变化:在 2026 年 4 月 7 日的一篇文章中,Avalonia 宣布“今天,随着 Avalonia 12 的发布,我们将彻底停用 Avalonia Accelerate 品牌。”同一篇文章还说“Community 层级将转为仅限非商业用途”,对新注册用户当天生效,对现有 Community 订阅用户则在随后几周内生效。曾以商业方式使用 Community 层级且符合其原始条款的组织(年收入低于 100 万欧元)可获得组织许可证的 50% 过渡折扣,现有 Accelerate 订阅用户保留其订阅和价格。在Avalonia 定价页面(2026-10-20 查阅)上,框架本身仍是免费的“MIT 许可 UI 框架”,Plus 为每席位每年 299 欧元,Pro 为每席位每年 899 欧元,Enterprise 每年 21,000 欧元起,含三个席位。价格不含增值税,页面还说明“席位面向从事 UI 工作的开发者,而不是整个团队。”
Avalonia Pro 一列列出的是 Avalonia 页面上写明的内容,查阅日期为 2026-10-20。“未列出”仅表示该控件没有列在 Avalonia Pro 页面上。
| 控件 | Avalonia Pro | sgcUI Avalonia 控件 | sgcUI 产品,.NET 版本 |
|---|---|---|---|
| 计划器(日历) | Avalonia Pro 页面上未列出 | TsgcAvaloniaScheduler | sgcPlanner,.NET Enterprise |
| 甘特图 | Avalonia Pro 页面上未列出 | TsgcAvaloniaGantt | sgcPlanner,.NET Enterprise |
| 看板 | Avalonia Pro 页面上未列出 | TsgcAvaloniaKanban | sgcPlanner,.NET Enterprise |
| 透视表 | Avalonia Pro 页面上未列出 | TsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldList | sgcPivotGrid,.NET Enterprise |
| 图表设计器 | Avalonia Pro 页面上未列出 | TsgcAvaloniaDiagramView | sgcDiagram,.NET Enterprise |
| 仪表板 | Avalonia Pro 页面上未列出 | TsgcAvaloniaDashboard, TsgcAvaloniaDashboardTile, TsgcAvaloniaKPICard | sgcDashboard,.NET Professional |
| 向导 | Avalonia Pro 页面上未列出 | TsgcAvaloniaWizard, TsgcAvaloniaStepper | sgcWizard,.NET Enterprise |
| 地图 | Avalonia Pro 页面上未列出 | TsgcAvaloniaMap | sgcMaps,.NET Enterprise |
| 报表 | Avalonia Pro 页面上未列出 | TsgcAvaloniaReportDesigner, TsgcAvaloniaReportPreview | sgcReports,.NET Enterprise |
| 仪表盘 | Charts 页面上的“Gauge”类别 | TsgcAvalonia<Kind>Gauge | sgcGauges,.NET Professional |
| 数据网格 | Tree DataGrid(Avalonia.Controls.TreeDataGrid),提供平面和层级两种模式 | TsgcAvaloniaGrid, TsgcAvaloniaGridColumn | sgcGrid,.NET Standard |
| 图表 | Charts(Avalonia.Controls.Charts),“70+ chart types” | TsgcAvaloniaChart, TsgcAvaloniaChartSeries, TsgcAvaloniaChartAxis | sgcCharts,.NET Professional |
| PDF 查看器 | PDF Viewer(Avalonia.Controls.PdfViewer) | TsgcAvaloniaPDFViewer、TsgcAvaloniaPDFThumbnailView、TsgcAvaloniaPDFOutlineView;sgcPDF 还可以创建、编辑和签名 PDF 文件 | sgcPDF,.NET Enterprise |
| 富文本编辑器 | Rich Text Editor(Avalonia.Controls.RichTextEditor) | TsgcAvaloniaRichEdit;可导入和导出 JSON、HTML、Markdown 和 RTF | sgcRichEdit,.NET Enterprise(仅限注册版) |
| Markdown 查看器 | 有 | 没有专门的查看器;TsgcAvaloniaRichEdit 可读取 Markdown | |
| 媒体播放器 | 有 | 无 | |
| 屏幕键盘 | 有 | 无 |
上面的每个产品也都可以单独购买软件包。在 Avalonia 上,Charts 页面写道 Pro“包含全部七个高级组件、70+ 种图表类型和高级工具”,并且“本页上的任何内容都不需要单独购买。”
| Avalonia Pro | sgcUI for .NET | |
|---|---|---|
| 模式 | 按席位订阅,按年或按月计费 | 按开发者授权,含 1 年更新:Single、Team(2 位开发者)或 Site(不限人数) |
| 价格 | 每席位每年 899 欧元,不含增值税 | 每位开发者:.NET Standard €380,.NET Professional €529,.NET Enterprise €699 |
| 单个产品 | 不单独销售 | 例如 sgcGrid .NET €199,sgcCharts .NET €199,sgcDashboard .NET €199,sgcPlanner .NET €249,sgcPivotGrid .NET €249,sgcDiagram .NET €249,sgcPDF .NET €249,sgcRichEdit .NET €299 |
| 续订 | 按年订阅 | 续订折扣:50%(Standard)、60%(Professional)和 70%(Enterprise) |
| 源代码 | 高级控件的完整源代码包含在 Enterprise 中 | 每个注册版和单个软件包都包含完整的 C# 源代码 |
| 再分发 | 已查阅的页面中没有说明 | 每个版本都可免费再分发二进制文件 |
| UI 平台 | Avalonia | 每个 .NET 版本都包含 WinForms、WPF 和 Avalonia |
| 免费层级 | Community,自 2026-04-07 起新注册用户仅限非商业用途 | Community NuGet 软件包,对年总收入低于 1,000,000 欧元且开发者不超过五人的个人或组织,在商业和非商业项目中均免费,每个产品有功能限制。.NET 版 sgcRichEdit 和 sgcMaps 没有 Community 软件包。 |
示例中 Avalonia Pro 页面上没有列出的四个控件(计划器、透视表、图表设计器和仪表板)都包含在 .NET Enterprise 中,也可以作为单个软件包逐个购买。Avalonia Plus 和 Pro 还包含厂商工具,例如 Hot Reload、DevTools 以及 Visual Studio 和 VS Code 扩展。sgcUI 只提供组件,因此请保留您的团队所需的 Avalonia 工具层级。
每个片段都复制自 AvaloniaProAlternative 示例,这是一个基于 net8.0、使用编译绑定和 FluentTheme 的 Avalonia 12 应用,可在 Release 下为注册版和社区版编译,演示中 0 个警告,并通过自检。这里没有 Avalonia Pro 的代码:本页只展示编译过的代码。
每个 sgcUI Avalonia 程序集都把其控件映射到同一个命名空间 URI,因此单个 sgc 前缀即可覆盖全部控件,与 Avalonia 默认命名空间并存:
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sgc="https://www.esegece.com/sgcui"
xmlns:vm="using:sgcUIAvaloniaPro"
x:Class="sgcUIAvaloniaPro.MainWindow"
x:DataType="vm:TMainViewModel"
Title="sgcUI next to Avalonia 12: the controls Avalonia Pro does not ship" Width="1240" Height="820">两个视图都绑定到视图模型的同一个 Tasks 集合。TsgcAvaloniaPlannerItemFields 映射您自己任务类的成员,在任一视图中拖动都会把 Begin、End 或 Stage 写回任务:
<sgc:TsgcAvaloniaScheduler x:Name="scheduler" ItemsSource="{Binding Tasks}"
ResourcesSource="{Binding People}" SelectedItem="{Binding Selected}">
<sgc:TsgcAvaloniaScheduler.ItemFields>
<sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
</sgc:TsgcAvaloniaScheduler.ItemFields>
<sgc:TsgcAvaloniaScheduler.ResourceFields>
<sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
</sgc:TsgcAvaloniaScheduler.ResourceFields>
</sgc:TsgcAvaloniaScheduler>
<sgc:TsgcAvaloniaKanban x:Name="kanban" Grid.Row="1" Margin="0,8,0,0" ColumnSource="pkcList"
ItemsSource="{Binding Tasks}" ResourcesSource="{Binding People}"
SelectedItem="{Binding Selected}">
<sgc:TsgcAvaloniaKanban.ItemFields>
<sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
</sgc:TsgcAvaloniaKanban.ItemFields>
<sgc:TsgcAvaloniaKanban.ResourceFields>
<sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
</sgc:TsgcAvaloniaKanban.ResourceFields>
<sgc:TsgcAvaloniaKanban.Columns>
<sgc:TsgcAvaloniaKanbanColumn StatusId="todo" Caption="To do"/>
<sgc:TsgcAvaloniaKanbanColumn StatusId="doing" Caption="In progress"/>
<sgc:TsgcAvaloniaKanbanColumn StatusId="done" Caption="Done"/>
</sgc:TsgcAvaloniaKanban.Columns>
</sgc:TsgcAvaloniaKanban><sgc:TsgcAvaloniaPivotGrid x:Name="pivot" ItemsSource="{Binding Sales}">
<sgc:TsgcAvaloniaPivotField FieldName="Region" Area="pvaRow" Caption="Region"/>
<sgc:TsgcAvaloniaPivotField FieldName="Channel" Area="pvaRow" Caption="Channel"/>
<sgc:TsgcAvaloniaPivotField FieldName="Product" Area="pvaColumn" Caption="Product"/>
<sgc:TsgcAvaloniaPivotField FieldName="Amount" Area="pvaData" Aggregation="pvfSum" Caption="Sales"/>
</sgc:TsgcAvaloniaPivotGrid>
<sgc:TsgcAvaloniaPivotFieldList x:Name="fieldList" Grid.Column="1" Margin="8,0,0,0"
PivotGrid="{Binding #pivot}"/>由 Employees 集合及其父成员生成的组织结构图。NodesSource 和 LinksSource 仅限注册版,因此示例的社区版构建会隐藏这个选项卡。
<sgc:TsgcAvaloniaDiagramView x:Name="diagram"
NodesSource="{Binding Employees}" NodeKeyMember="Id" NodeLabelMember="Name"
NodeParentMember="ManagerId"
LinksSource="{Binding Links}" LinkFromMember="From" LinkToMember="To"
LinkLabelMember="Label"/>磁贴排布在 12 列网格上,每个磁贴承载一个 KPI 卡片或任意控件,并绑定到视图模型:
<sgc:TsgcAvaloniaDashboard x:Name="dashboard" Columns="12" RowHeight="110">
<sgc:TsgcAvaloniaDashboardTile Title="Revenue" Col="0" Row="0" ColSpan="4" RowSpan="2">
<sgc:TsgcAvaloniaKPICard x:Name="kpiRevenue" Title="Revenue this month" Value="{Binding Revenue}"
Trend="ktUp" FooterText="all channels"/>
</sgc:TsgcAvaloniaDashboardTile>
<sgc:TsgcAvaloniaDashboardTile Title="Orders" Col="4" Row="0" ColSpan="4" RowSpan="2">
<sgc:TsgcAvaloniaKPICard x:Name="kpiOrders" Title="Orders" Value="{Binding Orders}"
Trend="ktUp" FooterText="this month"/>
</sgc:TsgcAvaloniaDashboardTile>
<sgc:TsgcAvaloniaDashboardTile Title="Support" Col="8" Row="0" ColSpan="4" RowSpan="2">
<sgc:TsgcAvaloniaKPICard x:Name="kpiTickets" Title="Open tickets" Value="{Binding Tickets}"
Trend="ktDown" FooterText="help desk"/>
</sgc:TsgcAvaloniaDashboardTile>
<sgc:TsgcAvaloniaDashboardTile Title="Visits per day" Col="0" Row="2" ColSpan="12" RowSpan="3">
<sgc:TsgcAvaloniaChart x:Name="chartVisits">
<sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Visits}" XMember="Time" YMember="Value"
Title="Visits" Color="#FF16A34A"/>
<sgc:TsgcAvaloniaChart.Axes>
<sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime"/>
<sgc:TsgcAvaloniaChartAxis Name="Y" Title="Visits"/>
</sgc:TsgcAvaloniaChart.Axes>
</sgc:TsgcAvaloniaChart>
</sgc:TsgcAvaloniaDashboardTile>
</sgc:TsgcAvaloniaDashboard>替换重叠的控件时,视图会变,视图模型保持不变。带声明列和双向 SelectedItem 的网格:
<sgc:TsgcAvaloniaGrid x:Name="grid" x:DataType="vm:TGridViewModel" Margin="8"
ItemsSource="{Binding Customers}" SelectedItem="{Binding Selected}"
KeyMember="Id" AutoGenerateColumns="False">
<sgc:TsgcAvaloniaGridColumn FieldName="Id" Caption="Id" Width="60" DataType="gdtInteger"/>
<sgc:TsgcAvaloniaGridColumn FieldName="Name" Caption="Customer" Width="220"/>
<sgc:TsgcAvaloniaGridColumn FieldName="City" Caption="City" Width="140"/>
<sgc:TsgcAvaloniaGridColumn FieldName="Balance" Caption="Balance" Width="130" DataType="gdtFloat"
DisplayFormat="#,##0.00" Alignment="gaRight"/>
</sgc:TsgcAvaloniaGrid>基于日期时间轴的折线图:
<sgc:TsgcAvaloniaChart x:Name="chartPrice" x:DataType="vm:TChartViewModel" Margin="8">
<sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Prices}" XMember="Time" YMember="Value"
Title="Price" Color="#FF2563EB"/>
<sgc:TsgcAvaloniaChart.Axes>
<sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime" Title="Time"/>
<sgc:TsgcAvaloniaChartAxis Name="Y" Title="Price"/>
</sgc:TsgcAvaloniaChart.Axes>
</sgc:TsgcAvaloniaChart>带缩略图的 PDF 查看器,绑定到视图模型的 TsgcPDFDocument:
<sgc:TsgcAvaloniaPDFThumbnailView x:Name="pdfThumbs" Viewer="{Binding #pdfViewer}"/>
<sgc:TsgcAvaloniaPDFViewer x:Name="pdfViewer" Grid.Column="1" Margin="8,0,0,0"
Document="{Binding Document}" ZoomMode="zmFitWidth"/>视图模型用 sgcPDF 构建文档,保存到内存再解析回来,就像从文件读取的文档到达查看器的方式:
// a three page A4 report written with sgcPDF, saved to memory and parsed back,
// the way a document read from a file or a stream reaches the viewer
private static TsgcPDFDocument DoBuild()
{
byte[] vBytes;
using (TsgcPDFDocument oWriter = new TsgcPDFDocument())
{
for (int i = 1; i <= CS_PAGES; i++)
{
TsgcPDFPage oPage = oWriter.AddPage(595, 842);
oPage.DrawRectangleFill(0, 772, 595, 70, 0.12, 0.23, 0.54);
oPage.DrawTextColor("Quarterly report, page " + i + " of " + CS_PAGES, 50, 800,
TsgcPDFStandardFont.sfHelveticaBold, 20, 1, 1, 1);
oPage.DrawText("Built in code with sgcPDF (TsgcPDFDocument) and shown by TsgcAvaloniaPDFViewer.", 50,
730, TsgcPDFStandardFont.sfHelvetica, 12);
oPage.DrawText("Search, zoom, thumbnails and text selection work on it like on any PDF file.", 50,
710, TsgcPDFStandardFont.sfHelvetica, 12);
for (int k = 0; k < 6; k++)
oPage.DrawRectangleFill(60 + k * 80, 420, 50, 40 + ((i * 3 + k * 5) % 9) * 25, 0.15, 0.39, 0.92);
oPage.DrawRectangle(40, 40, 515, 712, 1.0);
}
using (MemoryStream oStream = new MemoryStream())
{
oWriter.SaveToStream(oStream);
vBytes = oStream.ToArray();
}
}
TsgcPDFDocument vResult = new TsgcPDFDocument();
vResult.LoadFromBytes(vBytes);
return vResult;
}绑定为 Markdown 文本的富文本编辑器(sgcRichEdit 仅限注册版):
<sgc:TsgcAvaloniaRichEdit x:Name="richEdit" Margin="8" DocumentFormat="refMarkdown"
DocumentText="{Binding Text}"/>public sealed class TRichTextViewModel : TViewModelBase
{
private string FText =
"# Release notes\n\nThe **sgcRichEdit** control is bound to this view model through " +
"*DocumentText* in Markdown.\n\n- Styles, lists and tables\n- Links such as " +
"[www.esegece.com](https://www.esegece.com)\n- HTML, RTF, Markdown and JSON in and out\n";
/// <summary>The document as Markdown (DocumentFormat="refMarkdown"), written back on focus loss.</summary>
public string Text
{
get { return FText; }
set { DoSet(ref FText, value, "Text"); }
}
}应用保留 FluentTheme。sgcUI 控件跟随它的主题变体,无论是浅色、深色还是操作系统设置,并与 Fluent 控件一起实时切换:
public override void Initialize()
{
// the existing host theme stays: the sgcUI controls follow its theme variant
Styles.Add(new FluentTheme());
RequestedThemeVariant = ThemeVariant.Default;
}/// <summary>0 Follow host (RequestedThemeVariant Default), 1 Light, 2 Dark. The sgcUI controls
/// follow the Avalonia theme variant of the FluentTheme host (ThemeFollow utfHost).</summary>
public int ModeIndex
{
get { return FModeIndex; }
set
{
if (value < 0 || value > 2 || !DoSet(ref FModeIndex, value, "ModeIndex"))
return;
sgcUIApplication.ThemeFollow = TsgcUIThemeFollow.utfHost;
sgcUIApplication.SetTheme(TsgcUITheme.utDefault);
if (Application.Current != null)
Application.Current.RequestedThemeVariant = value == 1 ? ThemeVariant.Light :
value == 2 ? ThemeVariant.Dark : ThemeVariant.Default;
}
}每一步之后应用都能继续运行。现有的任何内容都不需要移除。
Avalonia.Desktop、Avalonia.Themes.Fluent、您的 MVVM 基类和所有 Avalonia Pro 控件都保持不变。
添加您所需每个产品的 Avalonia 版本,例如 esegece.sgcPlanner.Avalonia、esegece.sgcPivotGrid.Avalonia、esegece.sgcDiagram.Avalonia、esegece.sgcDashboard.Avalonia、esegece.sgcGrid.Avalonia、esegece.sgcCharts.Avalonia 或 esegece.sgcPDF.Avalonia。免费的社区版软件包带 .Community 后缀,例如 esegece.sgcPlanner.Avalonia.Community。
在每个使用 sgcUI 的视图上加上 xmlns:sgc="https://www.esegece.com/sgcui"。一个前缀即可覆盖所有产品。
在 XAML 中声明控件,并用 ItemsSource、SelectedItem 以及 TsgcAvaloniaPlannerItemFields 这样的字段映射把它们绑定到现有的视图模型。使用 x:DataType 的编译绑定也能正常工作。
保留 Styles.Add(new FluentTheme())。sgcUI 控件跟随 RequestedThemeVariant,因为 sgcUIApplication.ThemeFollow 默认为 utfHost。
如果要替换网格、图表、PDF 查看器或富文本编辑器,请在视图中更换控件并保留视图模型。需要绑定的成员列在下面。
| Avalonia Pro 软件包 | sgcUI 控件和需要绑定的成员 |
|---|---|
Avalonia.Controls.TreeDataGrid | TsgcAvaloniaGrid 带 ItemsSource、SelectedItem、KeyMember、AutoGenerateColumns="False" 和 TsgcAvaloniaGridColumn(FieldName、Caption、DataType、DisplayFormat、Alignment) |
Avalonia.Controls.Charts | TsgcAvaloniaChart 带 TsgcAvaloniaChartSeries(ItemsSource、XMember、YMember、SeriesKind)和 TsgcAvaloniaChartAxis(Name、AxisType="catDateTime") |
Avalonia.Controls.PdfViewer | TsgcAvaloniaPDFViewer(Document 或 Source、ZoomMode、PageIndex、PageCount)和 TsgcAvaloniaPDFThumbnailView.Viewer |
Avalonia.Controls.RichTextEditor | TsgcAvaloniaRichEdit(双向 DocumentText,DocumentFormat 为 refJSON、refHTML、refMarkdown、refRTF 或 refText,PlainText) |
左列只列出软件包名称。没有比较 Avalonia Pro 的成员,所以请根据您自己的 XAML 规划视图的修改。
如果您需要其中任何一项,请为此保留 Avalonia Pro。sgcUI 可以与它并存运行。
TsgcAvaloniaPDFViewer 的交互式工具,所以请不要假定两者功能对等。TsgcAvaloniaGrid 上的树形行。net8.0 桌面,没有验证移动端。在 Avalonia 项目中需要注意的版本限制和命名。
NodesSource、LinksSource),图表没有金融包。TsgcAvalonia 前缀,枚举值带一个简短前缀,例如 ZoomMode="zmFitWidth"、Area="pvaRow" 或 Trend="ktUp"。一个普通的带 FluentTheme 的 Avalonia 12 窗口,有一个主题选择器和两组选项卡:“Not in Avalonia Pro”(计划器和看板、透视表、图表设计器、仪表板)和“Also in Avalonia Pro”(网格、图表、PDF 查看器、富文本)。
在 sgcUI .NET 演示中,位于 sgcUI_Demos.sln 解决方案的 Suite\AvaloniaProAlternative 文件夹,另有一个 readme.html。在演示下载包中,项目引用 sgcUI NuGet 软件包。
注册版用 dotnet build sgcUIAvaloniaProAlternative.csproj -c Release,社区版请添加 -p:SgcCommunity=true,此时 Diagram 和 Rich text 选项卡会被隐藏。然后运行 sgcUIAvaloniaProAlternative.exe。
sgcUIAvaloniaProAlternative.exe /selftest [file.txt] 显示每个选项卡,运行检查,为每项检查写出一行 PASS 或 FAIL,并以失败检查的数量退出。注册版全部 52 项检查都通过,社区版全部 47 项检查都通过。
公平地说:Avalonia 是 sgcUI 运行所在的框架,本页并不要求您离开它。Avalonia Pro 在一份订阅中提供高级组件和工具,其中一些没有 sgcUI 对应项。sgcUI 提供 Avalonia Pro 页面上没有列出的计划、分析、图表设计器、仪表板、向导、地图和报表控件,同样的控件也提供给 WinForms 和 WPF,并按开发者授权,附带完整源代码。许多团队会同时使用两者。产品和版本请参阅 sgcUI 产品页面。