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

    文章

    473

    浏览量

    42243
  • XML
    XML
    +关注

    关注

    0

    文章

    183

    浏览量

    32941
  • 电荷
    +关注

    关注

    1

    文章

    516

    浏览量

    35821
  • 编辑器
    +关注

    关注

    1

    文章

    789

    浏览量

    30293

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    三瓦计法和二瓦计法分别适用于什么电路

    的乘积”这一关系来分析电路。二瓦计法适用于如下几种情况: 单电源电路:二瓦计法最常用于分析单电源电路,即电路中只有一个电源供电的情况。在这种情况下,根据功率等于电压与电流乘积以及欧姆定律,可以通过测量电压和电流
    的头像 发表于 02-27 09:41 911次阅读

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

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

    适用于电表的防干扰隔离反激式电源

    适用于电表的防干扰隔离反激式电源
    的头像 发表于 12-06 16:10 310次阅读
    <b class='flag-5'>适用于</b>电表的防干扰隔离反激式电源

    IGBT适用于ZVS 还是 ZCS?

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

    适用于蓝牙的折叠PIFA天线的设计和分析

    传统的PIFA天线虽然将尺寸减小了半,但相对快速小型化的移动通信产品而言还是尺寸过大。本文根据传统印制倒F型天线的工作原理,设计了一种折叠PIFA天线,尺寸只有16 mm×4.5 mm,设计简单、制造成本低、工作效率高,适用于
    发表于 09-25 08:25

    适用于戴尔易安信的博科网络企业混合云

    电子发烧友网站提供《适用于戴尔易安信的博科网络企业混合云.pdf》资料免费下载
    发表于 08-28 10:56 0次下载
    <b class='flag-5'>适用于</b>戴尔易安信的博科网络企业混合云

    SpeedBI数据可视化工具:浏览器做分析

    的分析思维变化做自助分析,如修改字段与维度组合;如双击钻取所有相关报表后,按需点击所需主题报表做分析等。 总结来看,SpeedBI数据分析云是一种方便、易用、功能强大的浏览器端数据可视化分析工具,适用于各种类型的数据分析和可视化
    发表于 08-22 10:55

    ODU TURNTAC®,适用于车制与开槽针孔

    ODU TURNTAC, 即使在恶劣环境下也适用的车制、开槽针孔 车制、开槽针孔 坚固的针孔系统,适用于恶劣的环境 10,000次插拔 低而稳定的插拔配合力 尽可能小的尺寸,针孔直径低至0.3mm
    的头像 发表于 08-15 09:50 280次阅读
    ODU TURNTAC®,<b class='flag-5'>适用于</b>车制与开槽针孔

    适用于Arduino的Adafruit NeoPixel Shield

    电子发烧友网站提供《适用于Arduino的Adafruit NeoPixel Shield.zip》资料免费下载
    发表于 06-09 10:27 0次下载
    <b class='flag-5'>适用于</b>Arduino的Adafruit NeoPixel Shield

    是否有适用于LS1046ARDB的Secure JTAG的任何应用说明?

    我想知道是否有适用于 LS1046ARDB 的 Secure JTAG 的任何应用说明,就像适用于 i.MXRT10XX 系列的应用说明样,例如
    发表于 06-08 09:05

    是否有适用于LPC4357的替代屏幕?

    我正在考虑使用 LPC4357-K43WQA 开发板开始些开发。它适用于需要 LCD 屏幕的项目。LPC ARM 设备是我们在这里体验最多的,因此使用 LPC4357 并带有 LCD 屏幕的开发板
    发表于 06-02 07:57

    jscrane/TTS库不适用于NodeMCU 1.0吗?

    该库适用于 arduino nano,但我无法让它适用于 NodeMCU 1.0 esp8266。该库将文本转换为使用 PWM 信号生成为音频的现象。库 2 的 github 页面在其自述文件中确实
    发表于 06-01 06:01

    如何调整CapSense库以使其适用于ESP8266架构?

    知道如何调整 CapSense 库以使其适用于 ESP8266 架构?或者是否有适用于 ESP8266 的电容式触摸解决方案?
    发表于 05-22 10:01

    RH_ASK.h功能是否适用于ESP8266吗?

    Arduino 或 Mega,但不能编译到 ESP8266。 问题:RH_ASK.h 功能是否适用于 ESP8266?如果是这样,需要添加什么才能使其编译?如果没有,还有其他选择吗?
    发表于 05-12 06:53