问题标签 [msagl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1113 浏览

c# - Routing only edges with MSAGL

Is there a way to route only edges in existing layout with MSAGL?

I have a GeometryGraph object with layout generated using LayeredLayout and I want to remove/add edges without running the layout algorithm again (this operation makes drastic changes to node positions and is confusing to end user).

Can I somehow simply run layout again with all node positions fixed?

0 投票
1 回答
774 浏览

c# - C# MSAGL 更改图标

我在 c# 中构建了一个 winforms 应用程序。

我正在尝试更改 MSAGLGViewer组件的默认图标:

MSAGL 图标

但我不知道在哪里可以做到这一点。

我怎样才能改变它们?

0 投票
1 回答
1917 浏览

graph - MSAGL:更新可见图(添加边)

我正在构建一个简单的示例应用程序来测试 MSAGL,但是如果我在显示图表后添加一条边,则会收到 KeyNotFoundException。

我想这与我需要以某种方式刷新一些数据有关 - 或者可能使用另一种方法,但不知道如何。

样本:

异常详情:

0 投票
1 回答
259 浏览

c# - 在 MSAGL 中绘制子图时出现转换错误

我有一个根Subgraph对象,其中有四个子对象,Subgraphs每个子对象包含几个Nodes. 我已将所有的Subgraphsand添加NodesGraph并设置RootSubgraphGraph. 但是,当尝试绘制时,Graph我从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs第 1044 行)中得到一个转换错误,其中GeometryNodeaSubgraph被转换为 a ClusterGeometryNode设置为 a ClusterinGeometryGraphCreator.ProcessSubgraphs并且错误消息没有告诉我有关转换失败的原因的信息。我怎样才能解决这个问题?

现在我只是将其设置Label为 null 以避免绘制代码,但我最终想使用标签。

0 投票
2 回答
746 浏览

c# - 获取用户在 MSAGL 中单击的顶点(节点)对象

那么,当用户单击时,检索鼠标指针下的对象的方法是什么?我认为 gViewer 必须有一些事件才能做到这一点。在教程中我发现了这个想法:

作为这样定义的gViewer_SelectionChanged事件处理程序:

void gViewer_SelectionChanged(object sender, EventArgs e)

尽管我为所有 3 个 MSAGL dll 添加了使用语句,但我找不到该 Selection changed事件。有什么特别的活动吗,还是我看错了?难道是我需要处理一些鼠标事件并基于它获取对象吗?

可悲的是,MSAGL 示例很少,没有文档和有限的评论,所以这里的问题越多越好。

0 投票
1 回答
325 浏览

c# - C# MSAGL - 如何创建:节点上的标题、副标题和边缘的工具提示

我正在尝试构建一个表示数据库关系的图表,所以我希望每个节点都有一个带有表名子标题的标题,这将代表表的不同键,并且在边缘有一个带有关系的字符串, 例如:"每个 table1 可能有很多 table2"。

有可能吗?如果可以,怎么办?

谢谢。

0 投票
0 回答
24 浏览

c# - NullReference exception when using AddPrecalculatedGraph

i need to to some work with Edge object before adding it to graph, so i create it like this

And, as you have guessed, i get the NullReferenceException on the last line of code. I doubleChecked the parameters for correctness, and i am sure the graph contains nodes with such IDs. I have also tried to add Edges this way:

And this one works correctly. I thought that the first variant uses the second underneath the hood, so what may be the problem?

0 投票
1 回答
542 浏览

c# - C#如何动态改变对象属性

我正在阅读本教程 http://chalaki.com/how-to-program-msagl-glee-to-create-hierarchical-graph-layouts/519/

使用代码示例。

在此处输入图像描述

我正在尝试使属性动态化(我希望以后能够从数据库中加载属性)

我努力了

但它不起作用,我该怎么做,甚至读到动态做这个?

[ANSWER] 不确定这是否是最好的方法,但它有效。

--对于我做过的颜色

--对于我做的形状

其中“test1”、“diamond”和“Red”值来自数据库。

0 投票
1 回答
536 浏览

c# - C# MSAGL - 显示样式

在此处输入图像描述

这是一个带有 MSAGL 的 C# 中的 winform 应用程序。我正在尝试将灰色区域的颜色更改为白色,并更改节点的字体样式,我应该如何设置它们?

0 投票
0 回答
25 浏览

c# - MSAGL 隐藏节点和边

是否可以GraphViewer为隐藏节点和边创建一个对象帐户?我正在构建一个带有节点和边的图,但只将“根”节点设置为可见。结果图有一堆空白,其中隐藏节点/边缘被绘制。我想删除那个空白,基本上将可视图形剪辑到仅可见节点/边缘。