private string GetName(VisualizationNode visualizationNode) { switch (NodeType) { case NodeType.Member: return(GetMemberName(visualizationNode)); case NodeType.Object: return(visualizationNode.XamlInstruction.XamlType.Name); case NodeType.GetObject: return("Collection"); case NodeType.NamespaceDeclaration: return("Namespace Declaration: Mapping " + visualizationNode.XamlInstruction.NamespaceDeclaration); case NodeType.Value: return($"\"{visualizationNode.XamlInstruction.Value}\""); case NodeType.Root: return("Root"); } throw new InvalidOperationException("The instruction type {NodeType} cannot be handled."); }
private static void OpenTreeVisualizer(VisualizationNode root) { var visualizerWindow = new TreeVisualizerWindow { DataContext = new TreeVisualizerViewModel(root) }; visualizerWindow.Show(); }
public VisualizerNodeViewModel(VisualizationNode model) { this.model = model; this.IsExpanded = true; children = model.Children.Select(node => new VisualizerNodeViewModel(node)).ToList(); CollapseBranchCommand = new RelayCommand(o => CollapseChildren()); ExpandBranchCommand = new RelayCommand(o => ExpandChildren()); }
private static string GetMemberName(VisualizationNode visualizationNode) { var mutableXamlMember = visualizationNode.XamlInstruction.Member as MutableXamlMember; if (mutableXamlMember != null) { if (!mutableXamlMember.IsAttachable) { return(mutableXamlMember.Name); } return(mutableXamlMember.DeclaringType.Name + "." + mutableXamlMember.Name); } var member = visualizationNode.XamlInstruction.Member; return(member.IsDirective ? "[(" + member.Name + ") Directive]": member.Name); }
public TreeVisualizerViewModel(VisualizationNode root) { Nodes = new Collection <VisualizerNodeViewModel> { new VisualizerNodeViewModel(root) }; }