0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一种适用于MicrosoftWPF的功能丰富的图表控件(上)

工程师邓生 来源:哲想软件 作者:哲想软件 2022-08-20 11:19 次阅读

Version3.0同时支持.NETFramework 和.NETCore。

综合图表

GoXam旨在通过照顾常见的图表需求来节省您的项目数周的开发时间。功能包括内置的节点和链接关系、数据绑定、子图和组、可折叠和可展开的树、概览、布局和分层。

dfd67e60-19e9-11ed-ba43-dac502259ad0.png   dfbe59ac-19e9-11ed-ba43-dac502259ad0.png

折叠和展开树

大型图的一种常用技术是允许用户控制该树部分的可见性。展开和折叠子树内置在 GoXam中,如下例所示,其中一个按钮绑定到IsExpandedTree 属性:

e006c71e-19e9-11ed-ba43-dac502259ad0.png  

图层

图形对象可以放置在图层中以定义它们的Z 顺序。默认情况下,DiagramPanel有9层,包括用于背景、默认和前景节点和链接的层,以及用于输入工具和装饰(如选择句柄)的层。

调色板控制

许多图表应用程序使用调色板来支持将新元素拖放到视图中。GoXam 还提供了一种特殊的图表,称为调色板。它以矩形网格状排列显示许多节点。您可以使用与常规图表不同的DataTemplate,以便为每个项目提供更小或更简单的外观。

e042c548-19e9-11ed-ba43-dac502259ad0.png  

概览控制

有时图表太大,您只能以合理的缩放级别看到其中的一部分。对于此类应用程序,我们提供了概览控件。它显示另一个图表显示的整个模型的缩略图,并显示该图表的视口。用户可以在概览中单击或拖动以滚动其他图表的视口。

e07252c2-19e9-11ed-ba43-dac502259ad0.png  

子图/组

许多图形类型,例如工作流或业务流程建模符号(BPMN),使用分组技术来组织图表。GoXam 中支持组,包括支持定义层次结构的数据绑定和定义组外观的数据模板。

e0a7576a-19e9-11ed-ba43-dac502259ad0.png  

其他功能

剪切/复制/粘贴/撤消/重做

默认情况下启用标准剪贴板操作,但可能会在不需要的应用程序中禁用。为了支持无限制和可自定义的撤消和重做,UndoManager跟踪图表模型的更改。更改按事务在逻辑上分组在一起。

缩放/滚动/平移/选择

GoXam支持滚动和放大图表。您可以通过设置 DiagramPanel 属性以编程方式滚动和放大或缩小。用户可以使用滚动条或 PanningTool 滚动,用户可以使用Control-Mouse-Wheel 放大或缩小。GoXam 控件支持选择,它们可以轻松地将数据绑定到当前选定的节点。您可以通过提供自定义数据模板来自定义选择句柄和工具句柄(例如,用于调整大小)。支持对图表中的任何文本进行就地文本编辑。只需单击为文本编辑启用的任何文本。

预定义的形状和箭头

GoXam预定义了超过 195种常用形状,用于常用节点定义。节点图形示例显示了所有这些形状。

箭头示例显示了65 种预定义的箭头设计。

XML保存/恢复

GoXam不需要任何特定的格式或介质来存储图表。在许多情况下,应用程序已经拥有自己的数据库模式或二进制文件格式或其他任何东西,因此良好的控制不应强加任何存储要求。

但是,如果您不介意使用XML 作为文档格式,并且如果您没有任何必须遵守的特定XML 模式,并且如果您使用我们预定义的模型数据类,我们确实可以轻松保存和以 XML 格式加载模型数据。(组织结构图编辑器、状态图、逻辑电路和流程图示例都演示了XML 保存/恢复的使用。)

自动布局

GoXam带有用于自动节点和链接定位的预定义布局。GoXam具有许多类型图表的布局,包括圆形布局、树和力导向布局以及分层有向图等。

e0e29ea6-19e9-11ed-ba43-dac502259ad0.png

在GoXam 图中,您可以通过在其根可视元素上设置Node.Location 附加属性来定位节点,或通过以编程方式设置 Node.Location属性。用户可以通过拖动来重新定位节点。

然而,GoXam也有自动定位节点的方法。DiagramLayout 类提供GridLayout、TreeLayout、ForceDirectedLayout和LayeredDigraphLayout。通过设置 Diagram.Layout属性,可以将布局与整个图表相关联。布局也可以通过设置 Group.Layout附加属性与Group 相关联。(您可以在此处的分组示例中查看在单个图表中运行的不同布局示例。)

LayoutManager管理图表中的布局,包括决定什么条件需要布局再次运行。LayoutManager还支持动画,当节点移动到新位置时,它允许平滑过渡。

CircularLayout

CircularLayout将节点排列成圆形或椭圆形。

e101b9d0-19e9-11ed-ba43-dac502259ad0.png

GridLayout

GridLayout在Palette 控件中使用,但您可以在任何图表中使用它。

e12bb8f2-19e9-11ed-ba43-dac502259ad0.png

ForceDirectedLayout

ForceDirectedLayout使用类似于物理力的力来推动和拉动节点。连杆被视为具有特定长度和刚度的弹簧。每个节点都具有排斥其他节点的电荷。

e15aa2de-19e9-11ed-ba43-dac502259ad0.png

TreeLayout

TreeLayout有利于布置树形结构图。它非常快,可以处理许多节点。提供多个选项,让您在有限的空间内获得所需的外观和清晰度。

e184f034-19e9-11ed-ba43-dac502259ad0.png

LayeredDigraphLayout

当图的节点可以自然地组织成层但结构不是树状时,您可以使用 LayeredDigraphLayout。这种布局可以处理进入一个节点的多个链接以及创建循环的链接。

e1aefd16-19e9-11ed-ba43-dac502259ad0.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 逻辑电路
    +关注

    关注

    13

    文章

    494

    浏览量

    42581
  • XML
    XML
    +关注

    关注

    0

    文章

    188

    浏览量

    33045
  • 电荷
    +关注

    关注

    1

    文章

    614

    浏览量

    36110
  • 编辑器
    +关注

    关注

    1

    文章

    802

    浏览量

    31120

原文标题:​Nwoods:GoXamfor WPF适用于MicrosoftWPF 的功能丰富的图表控件(上)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NVIDIA推出适用于网络安全的NIM Blueprint

    德勤使用适用于容器安全的 NVIDIA NIM Agent Blueprint 帮助企业利用开源软件构建安全的 AI。
    的头像 发表于 11-20 09:58 147次阅读

    适用于TMS320C5504/05的电源

    电子发烧友网站提供《适用于TMS320C5504/05的电源.pdf》资料免费下载
    发表于 10-11 11:18 0次下载
    <b class='flag-5'>适用于</b>TMS320C5504/05的电源

    适用于工业应用的使用MDIO的以太网PHY配置

    电子发烧友网站提供《适用于工业应用的使用MDIO的以太网PHY配置.pdf》资料免费下载
    发表于 09-21 10:24 0次下载
    <b class='flag-5'>适用于</b>工业应用的使用MDIO的以太网PHY配置

    选择适用于汽车应用的基准电压

    电子发烧友网站提供《选择适用于汽车应用的基准电压.pdf》资料免费下载
    发表于 09-02 11:26 0次下载
    选择<b class='flag-5'>适用于</b>汽车应用的基准电压

    适用于AR眼镜的TI DLP® Pico™技术

    电子发烧友网站提供《适用于AR眼镜的TI DLP® Pico™技术.pdf》资料免费下载
    发表于 08-23 09:21 0次下载
    <b class='flag-5'>适用于</b>AR眼镜的TI DLP® Pico™技术

    LMP91051是否适用于Pyreos的双通道?

    LMP91051是否适用于Pyreos的双通道(两颗sensor集成在同封装中,共用电源和地)热释电红外传感器
    发表于 08-19 07:17

    微软正式发布适用于Windows的Sudo

    微软已在 Windows 11 Insider Preview Build 26052 中发布适用于 Windows 的 Sudo,并将其在 MIT 协议下进行开源。
    的头像 发表于 03-19 09:20 799次阅读
    微软正式发布<b class='flag-5'>适用于</b>Windows的Sudo

    网孔电流法适用于什么样的电路

    网孔电流法(Mesh Current Analysis)是一种用来解析电路中的电流分布的分析方法。它基于欧姆定律和基尔霍夫电流定律,适用于求解具有多个回路的电路。 在复杂的电路中,往往存在多个回路
    的头像 发表于 03-01 11:04 2895次阅读

    MediaTek推出一种适用于低功耗物联网设备的T300 5G RedCap平台

    MediaTek 在 2024 世界移动通信大会(MWC 2024)发布 5G RedCap (5G 轻量化)产品组合的新成员 — MediaTek T300 平台,适用于广泛的低功耗物联网设备。
    的头像 发表于 02-26 16:42 606次阅读

    磁珠有什么功能适用于哪些行业?

    磁珠有什么功能适用于哪些行业? 磁珠是一种具有磁性的微小颗粒,通常由磁性材料如氧化铁或钴合金制成。磁珠具有许多独特的功能和用途,广泛应用于
    的头像 发表于 01-11 15:59 716次阅读

    一种AT命令通信解析模块介绍

    一种AT命令通信解析模块,支持裸机(at_chat)和OS版本(at)。适用于modem、WIFI模块、蓝牙通信。
    的头像 发表于 01-08 12:24 1124次阅读
    <b class='flag-5'>一种</b>AT命令通信解析模块介绍

    labview显示控件怎么设置风格

    LabVIEW是一种强大的图形化编程语言和集成开发环境(IDE),主要用于数据采集、仪器控制和实时数据分析等领域。它提供了丰富的图形控件,用户可以通过这些
    的头像 发表于 01-04 10:27 1861次阅读

    IGBT适用于ZVS 还是 ZCS?

    IGBT适用于ZVS 还是 ZCS?
    的头像 发表于 12-01 16:10 1194次阅读
    IGBT<b class='flag-5'>适用于</b>ZVS 还是 ZCS?

    适用于代大功率应用的XHP™2封装

    适用于代大功率应用的XHP™2封装
    的头像 发表于 11-29 17:04 962次阅读
    <b class='flag-5'>适用于</b>下<b class='flag-5'>一</b>代大功率应用的XHP™2封装

    TechInsights关于苹果智能手表金属壳电池的探讨——一种适用于便携式和可穿戴电子产品的新颖设计

    TechInsights关于苹果智能手表金属壳电池的探讨——一种适用于便携式和可穿戴电子产品的新颖设计
    的头像 发表于 11-29 16:10 418次阅读
    TechInsights关于苹果智能手表金属壳电池的探讨——<b class='flag-5'>一种</b><b class='flag-5'>适用于</b>便携式和可穿戴电子产品的新颖设计