关于 syncfusion-maui-treemap
面向 .NET MAUI 开发者的 Syncfusion TreeMap 实现指南,介绍如何以嵌套矩形呈现层级数据,并配置布局、颜色和交互。
主要功能
- 01绑定层级数据并配置多级分组
- 02提供多种矩形布局
- 03按数值或类别配置颜色
- 04自定义图例、标签和工具提示
- 05支持选择、键盘导航和 RTL
适用场景
- 01展示地区与产品层级的销售数据
- 02用面积和颜色呈现类别分布
- 03分析文件系统或组织结构
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-treemap安装后在 Claude Code 中输入/syncfusion-maui-treemap确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/accessibility-events.mdbrush-settings.mdgetting-started.mdhierarchical-levels.mdlayouts.mdleaf-item-customization.mdlegend.mdselection-interaction.mdtooltip.md详细介绍
实现 .NET MAUI TreeMap
Syncfusion® .NET MAUI TreeMap(SfTreeMap)是一款强大的数据可视化控件,可使用嵌套矩形表示分层数据。每个矩形的大小和颜色由其底层数据值决定,因此非常适合可视化具有分层结构的大型数据集,例如组织架构、文件系统、人口数据、销售分布等。
何时使用此技能
在以下场景中使用此技能:
- 可视化分层数据,使用嵌套矩形表示数据大小
- 显示多级分类数据(例如,按区域 → 国家 → 产品划分的销售额)
- 创建热力图,通过颜色编码的值展示各类别的数据分布
- 实现 Squarified 或 Slice-and-Dice 布局,以充分利用空间
- 通过图例和工具提示展示数据,方便交互式探索
- 支持选择和交互,以操作分层数据项
- 应用各种配色方案(统一、基于范围、去饱和或调色板),表示数据值
- 自定义外观,包括叶节点项、组标题、边框、标签等
常见场景包括人口可视化、销售分析、文件存储分析、组织层级结构、预算明细,以及任何需要按比例表示分层数据面积的领域。
组件概述
主要功能:
- 数据绑定:绑定到分层集合并自动进行可视化
- 布局类型:Squarified(默认)、SliceAndDiceAuto、SliceAndDiceHorizontal、SliceAndDiceVertical
- 分层级别:使用 GroupPath 支持嵌套数据结构中的多级数据
- 画刷设置:提供 Uniform、Range、Desaturation 和 Palette 四种类型,灵活控制颜色
- 图例:可自定义图例图标类型、位置和文本样式
- 工具提示:鼠标悬停或轻触时显示数据详情的交互式工具提示
- 选择:支持单选或多选模式,并可自定义高亮效果
- 无障碍功能:内置键盘导航、屏幕阅读器支持,并符合 WCAG 标准
- 自定义:提供丰富的样式选项,可设置叶节点项、标题、边框、标签和间距
文档与导航指南
入门
📄 阅读: references/getting-started.md
- 安装 NuGet 包(
Syncfusion.Maui.TreeMap) - 注册处理程序(MauiProgram.cs 中的 ConfigureSyncfusionCore)
- 使用 XAML 和 C# 实现基本 TreeMap
- 设置数据模型和视图模型
- 配置 DataSource 绑定和 PrimaryValuePath
- 使用 LabelPath 添加标签
- 完整的最小可运行示例
何时阅读:初次设置并首次实现 TreeMap 时,请从这里开始。
布局配置
📄 阅读: references/layouts.md
- Squarified 布局(纵横比最佳,默认)
- SliceAndDiceAuto 布局(自适应方向)
- SliceAndDiceHorizontal 布局(水平切分)
- SliceAndDiceVertical 布局(垂直切分)
- LayoutType 属性的用法
- 为数据选择合适的布局
- 布局类型的可视化对比
何时阅读:需要更改 TreeMap 布局算法,或了解哪种布局最适合数据结构时。
分层级别
📄 阅读: references/hierarchical-levels.md
- 了解 TreeMap 中的级别
- 使用 GroupPath 属性进行多级分类
- 添加多个级别(支持 n 级)
- 自定义级别外观(Spacing、HeaderHeight、Background)
- 使用 Stroke 和 StrokeWidth 设置级别边框
- 使用 TextStyle 设置标题文本样式
- 组项画刷设置(PaletteBrushSettings)
何时阅读:实现多级分层数据(例如,洲 → 国家 → 城市)或自定义组标题外观时。
颜色和画笔设置
📄 阅读: references/brush-settings.md
- UniformBrushSettings(所有项使用同一种颜色)
- RangeBrushSettings(根据值范围着色,使用 From/To)
- DesaturationBrushSettings(根据饱和度级别应用渐变)
- PaletteBrushSettings(从调色板中选取多种颜色)
- RangeColorValuePath 配置
- 用于范围定义的 LegendLabel
- 各种画笔类型的适用场景
阅读时机:需要应用配色方案来可视化数据值、范围或类别时。
叶项自定义
📄 阅读: references/leaf-item-customization.md
- 用于在叶项上显示文本的 LabelPath
- 叶项之间的间距
- 用于叶项边框的 Stroke 和 StrokeWidth
- TextStyle 配置(颜色、字体、大小、属性)
- 标签溢出模式(换行、截断)
- 标签模板自定义
- ShowLabels 属性
阅读时机:需要自定义单个数据项(叶节点)的外观和标签时。
图例配置
📄 阅读: references/legend.md
- 使用 ShowLegend 属性启用图例
- 图例位置(Top、Bottom、Left、Right)
- LegendSettings 配置
- 图标类型(Circle、Rectangle、Diamond、Triangle 等)
- 自定义图标大小
- 图例项的文本样式
- 图例项模板
- 与 RangeBrushSettings 集成
阅读时机:需要在 TreeMap 中添加图例,以说明颜色编码或值范围时。
工具提示实现
📄 阅读: references/tooltip.md
- 使用 ShowToolTip 属性启用工具提示
- 默认工具提示行为
- 工具提示模板自定义
- TooltipTemplate 属性的用法
- 工具提示中的数据上下文
- 设置工具提示的外观样式
- 叶项与组项的工具提示
阅读时机:需要添加交互式工具提示,以便在悬停或轻触时显示其他数据时。
选择和交互
📄 阅读: references/selection-interaction.md
- SelectionMode 属性(None、Single、Multiple)
- 单选与多选行为
- SelectedItems 集合
- SelectionChanged 事件处理
- 高亮设置(HighlightOnSelection)
- 自定义选中描边和填充
- 以编程方式选择
阅读时机:需要实现用户交互功能(例如选择项、高亮显示或响应选择事件)时。
无障碍功能和事件
📄 阅读: references/accessibility-events.md
- 无障碍支持概述
- 键盘导航支持
- WCAG 合规功能
- ItemSelected 和 ItemDeselected 事件
- ItemTapped 事件
- 下钻功能
- 从右向左(RTL)支持
- 用于无障碍功能的语义属性
阅读时机:需要实现无障碍 TreeMap、处理事件或支持 RTL 语言时。