.NET Tips and Tricks

Blog archive

Reviewing Nevron Diagram for .NET: Processing the Objects

The last topic that I wanted to look at, as part of the extended review/commentary on Nevron Diagram for .NET, was retrieving objects from a diagram. That ability is critical if users are allowed to create their own diagrams in a form (which would also require using more of the controls in the Diagram for .NET toolbox).

Diagram for .NET provides two mechanisms for retrieving objects. One method is navigational, using the Children property on the NDocumentViewer object. The Children object's multiple Get methods allow you to retrieve objects by position, name, id and type (and more). The second method is criteria-based, using the NDocumentViewer's AccumulateChildren method. You pass a filter to the AccumulateChildren method specifying the kind of object that you want to retrieve and it adds the matching objects to a list of nodes. These two mechanisms are also repeated on most of the objects in the Nevron object model, so that you can search within specific nodes in a diagram.

While I've looked at the code-driven approach to using Diagram for .NET, it's not the only option. Diagram for .NET also supports importing data to create treeviews and graphs. I'm sure the functionality is wonderful but I have other tools for creating data driven treeviews, so I wasn't keenly interested in exploring that option. I also haven't begun to investigate giving the users custom objects to create their own diagrams on the fly. Or the many style objects for controlling the appearance of your diagrams.

Honestly, I think that I could have a lot of fun building applications with Diagram for .NET


Posted by Peter Vogel on 05/18/2010 at 1:16 PM

comments powered by Disqus


  • Vendors Update Controls for .NET Core 3.1, Blazor

    This week saw two third-party vendors of dev tools -- UX and UI toolkits and controls -- release new offerings that include support for two of Microsoft's main open source frameworks, the cross-platform .NET Core 3.1 and Blazor, which allows for creating browser-based web applications with C# instead of JavaScript.

  • C++ Is Focus of New Visual Studio 2019 v16.7 Preview 2

    C++ development is a focus point of the new Visual Studio 2019 v16.7 Preview 2, featuring a slew of tweaks and improvements touching upon remote SSH connections, IntelliSense support and more.

  • Clustering Non-Numeric Data Using C#

    Clustering non-numeric -- or categorial -- data is surprisingly difficult, but it's explained here by resident data scientist Dr. James McCaffrey of Microsoft Research, who provides all the code you need for a complete system using an algorithm based on a metric called category utility (CU), a measure how much information you gain by clustering.

  • So What's Up with Microsoft's (and Everyone Else's) Love of Rust?

    Microsoft already stewards several popular programming languages -- C#, TypeScript, F# -- so what's up with its love of Rust, along with the rest of the world?

  • C# Steps Up Programming Language Popularity Ladder

    Microsoft's C# programming language climbed a year-over-year notch on the TIOBE Index, which measures popularity among developers.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events