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

    文章

    503

    浏览量

    44299
  • XML
    XML
    +关注

    关注

    0

    文章

    190

    浏览量

    34603
  • 电荷
    +关注

    关注

    1

    文章

    665

    浏览量

    37459
  • 编辑器
    +关注

    关注

    1

    文章

    831

    浏览量

    33120

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    功率分析仪适用于什么行业?

    功率分析仪是一种功能的电力测量设备,广泛应用于各个行业。它主要用于电路电流、电压、功率等参数的测量和分析,有助于提高电能利用效率,减少能源浪费。功率分析仪不仅可以
    的头像 发表于 04-29 14:58 110次阅读
    功率分析仪<b class='flag-5'>适用于</b>什么行业?

    一种可跨不同领域的异常检测通用模型UniOD介绍

    本研究提出了一种可跨不同领域、适用于特征维度各异且特征空间异构的数据集的异常检测通用模型。
    的头像 发表于 03-18 09:09 637次阅读
    <b class='flag-5'>一种</b>可跨不同领域的异常检测通用模型UniOD介绍

    量水堰计适用于哪些场景应用?

    量水堰计是一种专门用于监测堰槽水位变化的高精度仪器,在工程安全监测领域扮演着重要角色。它通过精确测量水位,为流量计算和结构安全评估提供关键数据。那么,这种可靠的设备主要适用于哪些具体场景呢?
    的头像 发表于 12-12 10:56 563次阅读
    量水堰计<b class='flag-5'>适用于</b>哪些场景应用?

    设备身份唯标识和基于数字证书的身份认证两方案,在应用场景上有何侧重,分别适用于哪些类型的物联网设备?

    设备身份唯标识和基于数字证书的身份认证两方案,在应用场景上有何侧重,分别适用于哪些类型的物联网设备?
    发表于 11-18 06:26

    IEC 62368标准适用于哪些产品

    IEC62368-1标准是国际电工委员会(IEC)制定的项安全标准,适用于音视频设备、信息技术设备以及通信设备。该标准的全称是:IEC62368-1:Audio/video,informationandcommunicationtechnologyequipment–S
    的头像 发表于 10-29 14:47 1630次阅读
    IEC 62368标准<b class='flag-5'>适用于</b>哪些产品

    适用于代 GGE 和 HSPA 手机的多模/多频段 PAM skyworksinc

    电子发烧友网为你提供()适用于代 GGE 和 HSPA 手机的多模/多频段 PAM相关产品参数、数据手册,更有适用于代 GGE 和 HSPA 手机的多模/多频段 PAM的引脚图
    发表于 09-05 18:34
    <b class='flag-5'>适用于</b>下<b class='flag-5'>一</b>代 GGE 和 HSPA 手机的多模/多频段 PAM skyworksinc

    一种适用于动态环境的自适应先验场景-对象SLAM框架

    由于传统视觉SLAM在动态场景中容易会出现严重的定位漂移,本文提出了一种新颖的基于场景-对象的可靠性评估框架,该框架通过当前帧质量指标以及相对于可靠参考帧的场景变化,全面评估SLAM的稳定性。
    的头像 发表于 08-19 14:17 1062次阅读
    <b class='flag-5'>一种</b><b class='flag-5'>适用于</b>动态环境的自适应先验场景-对象SLAM框架

    一种适用于超低噪声应用的数字线性稳压器

    线性稳压器是一种简单的电压转换器,可将较高的输入电压转换为较低的输出电压。其行为特性就像个动态电阻器,总是能够准确地调节至所需数值,确保在特定的电流下使设定的输出电压保持恒定。
    的头像 发表于 08-19 09:20 1749次阅读

    哪些离线语音芯片适用于家电设备

    ​哪些离线语音芯片适用于家电设备?选择适用于家电设备的离线语音芯片时,需综合考量家电的使用环境、功能需求、成本预算等多方面因素。以下为您推荐几款性能出色的离线语音芯片:   适合家电设备使用的离线
    的头像 发表于 08-06 17:27 1084次阅读
    哪些离线语音芯片<b class='flag-5'>适用于</b>家电设备

    一种适用于动态环境的实时RGB-D SLAM系统

    了UP-SLAM,这是一种适用于动态环境的实时RGB-D SLAM系统。实验结果表明,UP-SLAM在定位精度方面(高出59.8%)和渲染质量方面(峰值信噪比高出4.57分贝)均优于最先进的方法,同时保持实时性能,并在动态环境中生成可重复使用且无伪影的静态地图。
    的头像 发表于 07-04 15:14 1528次阅读
    <b class='flag-5'>一种</b><b class='flag-5'>适用于</b>动态环境的实时RGB-D SLAM系统

    用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应用的端口 skyworksinc

    电子发烧友网为你提供()用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应用的端口相关产品参数、数据手册,更有用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应
    发表于 07-01 18:32
    <b class='flag-5'>用于</b>无线 LAN 的 2.4 GHz 高效前端和<b class='flag-5'>适用于</b>蓝牙®应用的端口 skyworksinc

    适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端 skyworksinc

    电子发烧友网为你提供()适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端相关产品参数、数据手册,更有适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端的引脚图、接线图、封装手册
    发表于 06-20 18:30
    <b class='flag-5'>适用于</b> WLAN 和蓝牙®应用的 2.4 GHz 高效前端 skyworksinc

    2.4 GHz、256 QAM 前端模块,用于 WLAN/ 和端口,适用于蓝牙®应用 skyworksinc

    电子发烧友网为你提供()2.4 GHz、256 QAM 前端模块,用于 WLAN/ 和端口,适用于蓝牙®应用相关产品参数、数据手册,更有2.4 GHz、256 QAM 前端模块,用于 WLAN
    发表于 06-18 18:30
    2.4 GHz、256 QAM 前端模块,<b class='flag-5'>用于</b> WLAN/ 和端口,<b class='flag-5'>适用于</b>蓝牙®应用 skyworksinc

    用于 WLAN/ 的 2.4 GHz、256 QAM 前端模块和适用于蓝牙®应用的端口 skyworksinc

    电子发烧友网为你提供()用于 WLAN/ 的 2.4 GHz、256 QAM 前端模块和适用于蓝牙®应用的端口相关产品参数、数据手册,更有用于 WLAN/ 的 2.4 GHz、256 QAM 前端
    发表于 06-18 18:30
    <b class='flag-5'>用于</b> WLAN/ 的 2.4 GHz、256 QAM 前端模块和<b class='flag-5'>适用于</b>蓝牙®应用的端口 skyworksinc

    适用于电机控制的电流滤波方法

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:适用于电机控制的电流滤波方法.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第时间告知,删除内容!
    发表于 06-18 16:04