问题标签 [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.
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?
graph - MSAGL:更新可见图(添加边)
我正在构建一个简单的示例应用程序来测试 MSAGL,但是如果我在显示图表后添加一条边,则会收到 KeyNotFoundException。
我想这与我需要以某种方式刷新一些数据有关 - 或者可能使用另一种方法,但不知道如何。
样本:
异常详情:
c# - 在 MSAGL 中绘制子图时出现转换错误
我有一个根Subgraph
对象,其中有四个子对象,Subgraphs
每个子对象包含几个Nodes
. 我已将所有的Subgraphs
and添加Nodes
到Graph
并设置RootSubgraph
在Graph
. 但是,当尝试绘制时,Graph
我从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs
第 1044 行)中得到一个转换错误,其中GeometryNode
aSubgraph
被转换为 a Cluster
。GeometryNode
设置为 a Cluster
inGeometryGraphCreator.ProcessSubgraphs
并且错误消息没有告诉我有关转换失败的原因的信息。我怎样才能解决这个问题?
现在我只是将其设置Label
为 null 以避免绘制代码,但我最终想使用标签。
c# - 获取用户在 MSAGL 中单击的顶点(节点)对象
那么,当用户单击时,检索鼠标指针下的对象的方法是什么?我认为 gViewer 必须有一些事件才能做到这一点。在教程中我发现了这个想法:
作为这样定义的gViewer_SelectionChanged
事件处理程序:
void gViewer_SelectionChanged(object sender, EventArgs e)
尽管我为所有 3 个 MSAGL dll 添加了使用语句,但我找不到该
Selection changed
事件。有什么特别的活动吗,还是我看错了?难道是我需要处理一些鼠标事件并基于它获取对象吗?
可悲的是,MSAGL 示例很少,没有文档和有限的评论,所以这里的问题越多越好。
c# - C# MSAGL - 如何创建:节点上的标题、副标题和边缘的工具提示
我正在尝试构建一个表示数据库关系的图表,所以我希望每个节点都有一个带有表名和子标题的标题,这将代表表的不同键,并且在边缘有一个带有关系的字符串, 例如:"每个 table1 可能有很多 table2"。
有可能吗?如果可以,怎么办?
谢谢。
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?
c# - C#如何动态改变对象属性
我正在阅读本教程 http://chalaki.com/how-to-program-msagl-glee-to-create-hierarchical-graph-layouts/519/
使用代码示例。
我正在尝试使属性动态化(我希望以后能够从数据库中加载属性)
我努力了
但它不起作用,我该怎么做,甚至读到动态做这个?
[ANSWER] 不确定这是否是最好的方法,但它有效。
--对于我做过的颜色
--对于我做的形状
其中“test1”、“diamond”和“Red”值来自数据库。
c# - MSAGL 隐藏节点和边
是否可以GraphViewer
为隐藏节点和边创建一个对象帐户?我正在构建一个带有节点和边的图,但只将“根”节点设置为可见。结果图有一堆空白,其中隐藏节点/边缘被绘制。我想删除那个空白,基本上将可视图形剪辑到仅可见节点/边缘。