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

    浏览量

    43837
  • XML
    XML
    +关注

    关注

    0

    文章

    188

    浏览量

    34401
  • 电荷
    +关注

    关注

    1

    文章

    663

    浏览量

    37218
  • 编辑器
    +关注

    关注

    1

    文章

    826

    浏览量

    32658

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    适用于代 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

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

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

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

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

    【SENSIRION应用】如何正确选择SDP差压传感器适用于您的产品

    具备快速测量速度。SDP是一种微热流量传感器,既可用作差压传感器,也可用作气体流量传感器,适用于各种应用。这种多功能性使得该传感器在不同的气体流量系统中都能得到最佳
    的头像 发表于 05-19 13:26 502次阅读
    【SENSIRION应用】如何正确选择SDP差压传感器<b class='flag-5'>适用于</b>您的产品

    如何制作适用于Visionfive 2的Debian + UEFI固件系统?

    制作适用于Visionfive 2的Debian + UEFI固件系统
    发表于 03-10 07:51

    适用于MySQL和MariaDB的.NET连接器

    支持 ORM 的适用于 MySQL 和 MariaDB 的 .NET 连接器 dotConnect for MySQL 是一种高性能 ADO.NET 数据提供程序,可在开发 MySQL 的应用程序
    的头像 发表于 01-16 14:17 797次阅读
    <b class='flag-5'>适用于</b>MySQL和MariaDB的.NET连接器

    适用于Oracle的ODBC驱动程序

    适用于 Oracle 的 ODBC 驱动程序 Devart ODBC Driver for Oracle 是一种高性能连接解决方案,具有企业级功能,可用于从32位和64位 Window
    的头像 发表于 01-13 09:17 860次阅读

    适用于内窥镜镜头模组的环氧树脂封装胶

    适用于内窥镜镜头模组的环氧树脂封装胶适用于内窥镜镜头模组的环氧树脂封装胶是一种高性能的胶粘剂,它结合了环氧树脂的优异特性和内窥镜镜头模组的特殊需求。以下是对这种环氧树脂封装胶的详细解析:
    的头像 发表于 01-10 09:18 1031次阅读
    <b class='flag-5'>适用于</b>内窥镜镜头模组的环氧树脂封装胶

    Chart FX-选择图表输出

    图表选择输出时,最简单的方法是使用 Chart FX 智能标签向导。 通过 Chart FX 服务器控件控制图表输出有几种不同的方法。其中一种仅需允许浏览器检测
    的头像 发表于 01-05 11:06 798次阅读
    Chart FX-选择<b class='flag-5'>图表</b>输出

    Chart FX图表类型:条形图()

    条形图是最常见的商业图表类型,尤其适用于比较分析。您可以使用条形图来说明单个项目之间的比较。条形图还可用于比较类或组数据。在条形图中,类或
    的头像 发表于 01-03 10:20 1119次阅读
    Chart FX<b class='flag-5'>图表</b>类型:条形图(<b class='flag-5'>上</b>)