我已经开始在 VS 2010 中使用 DGML 查看器(这看起来很棒)。我知道你可以从你的代码库中创建图表。
是否支持从我喜欢的任何内容创建有向图,或者它纯粹是一个代码分析工具?我想要类似于“添加节点”之类的东西。
我已经开始在 VS 2010 中使用 DGML 查看器(这看起来很棒)。我知道你可以从你的代码库中创建图表。
是否支持从我喜欢的任何内容创建有向图,或者它纯粹是一个代码分析工具?我想要类似于“添加节点”之类的东西。
您必须手动生成图表。据我所知,没有可视化工具可以在此级别上修改其结构。
如果您在空白处右键单击,您可以选择查看 DGML,它将显示源 XML 文件并对其进行修改。了解结构后,您还可以通过创建具有适当结构的 XML 文件从代码中自动生成图形。您需要定义的只是链接部分。如果您希望在图中有一些好看的名称,您也可以定义节点部分。
这是一个如何完成它的示例。最有可能是更有效的方法,但这种方法很容易理解。
XmlWriter xmlWriter = XmlWriter.Create(outputFile, new XmlWriterSettings() { Encoding = Encoding.UTF8 });
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("DirectedGraph", "http://schemas.microsoft.com/vs/2009/dgml");
xmlWriter.WriteStartElement("Nodes");
// dump nodes
foreach (Name n in Names)
{
xmlWriter.WriteStartElement("Node");
xmlWriter.WriteAttributeString("Id", n.Id); // id is an unique identifier of the node
xmlWriter.WriteAttributeString("Label", n.Label); // label is the text on the node you see in the graph
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
xmlWriter.WriteStartElement("Links");
// dump links
foreach (Link l in Links)
{
xmlWriter.WriteStartElement("Link");
xmlWriter.WriteAttributeString("Source", l.Source); // ID! of the source node
xmlWriter.WriteAttributeString("Target", l.Target); // ID of the target node
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
这就是你需要做的一切......如果你不想要任何分组或着色......那会添加更多代码......
您可以在此处找到基本的 DGML 编辑任务:如何编辑和自定义图形文档