void PrintGraph(SemanticWebUsersLevel web) { DD.ClearAll(); Dictionary <int, DiagramNode> nodeMap = new Dictionary <int, DiagramNode>(); foreach (var node in web.Nodes) { var diagramNode = DD.Factory.CreateShapeNode(bounds); //diagramNode.Brush = new LinearGradientBrush(new GradientStopCollection nodeMap[node.ID] = diagramNode; diagramNode.Text = node.Name; diagramNode.Tag = node; } foreach (var arc in web.Arcs) { if (!arc.Name.Contains("_#")) { var diagramArc = DD.Factory.CreateDiagramLink(nodeMap[arc.From.ID], nodeMap[arc.To.ID]); diagramArc.Text = arc.Name; } } load = false; // arrange the graph(расстановка) var layout = new LayeredLayout(); layout.Arrange(DD); //sbState.Style = (Style)FindResource("ReadySBStyle"); }
/// <summary> /// Загрузка из XML файла с десериализацией /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_Loaded_1(object sender, RoutedEventArgs e) { try { myWeb = SemanticWeb.ReadFromXml(path); myViewWeb = new SemanticWebUsersLevel(myWeb); PrintGraph(myViewWeb); SendMessage("Сем. сеть загружена"); } catch (Exception e1) { load = false; SendMessage("Сем. сеть пуста"); } }