Graph visualisation in Silverlight - silverlight

I have a data structure that represents a directed graph and I'm looking for a good Silverlight visualisation to allow me to navigate from node to node, preferably with some nice animation.
Does anyone know of any good UI controls or frameworks for this kind of display? Even a sample from another field (maybe a social network?). My graphs don't have many nodes so performance won't be an issue.
I've seen the Prefuse library for Java (and Flash) which would be ideal. The "Degree of Interest" visualisation is the kind of thing I'm after, but I can't find anything in Silverlight.
Thanks for any tips.

There's an open source option that's part of the Silverlight Bag-O-Tricks. Check it out and see a demo here (use the first demo link):
http://www.codeplex.com/BagOTricks
There's also a WPF version:
http://j832.com/bagotricks/

Try this one
http://graphlight.codeplex.com/

I made a graph library for Silverlight, that uses Dot as basis.
Please check out: http://dot2silverlight.codeplex.com/
I am making some improvements to support more shapes and types of arrows.
daniela

Must admit I haven't tryed it out yet my self but quickgraph looks promissing

#Rune FS
QuickGraph has no visualisation capabilities, at least not for Silverlight. It just handles the graph data structures and algorithms.

QuickGraph does make it easy to construct a graph and output to Directed Graph Markup Language (DGML) which can be viewed in VS 2010. I just checked in changes to the project and I noticed that it has been designed to be built for inclusion into Silverlight. So perhaps you could use it in conjunction with a silverlight DGML viewer

Related

Is there a free WinForms control similar to Telerik's RadDock?

I'm looking to create an interface which has drag-drop-dock functionality like Visual Studio. Telerik offers exactly what I'm looking for:
http://www.telerik.com/products/winforms/dock.aspx
Trouble is, it will cost $1000. This is a side project and I don't have a budget for that. Does anyone know of a similar control which is free and/or open source? Google didn't turn up any results.
Thanks
I ended up going more low-level and using OpenTk GameWindow and GWEN, which contains docking.
GWEN - GUI Without Extravagant Nonsense
https://github.com/garrynewman/GWEN
It's absolutely great, but unfortunately the original project is abandoned. There are a ton of forks at different states. I've personally had a lot of success with it.

DataAnnotations Validation only implemented in MVC?

I somehow missed the introduction of DataAnnotations. I’ve been looking at them off and on for the last couple of weeks. It seems like everything I’m finding ties back to MVC. Are there any full implementations for doing validation with WPF, WinForms, etc.?
If so, any pointers/links would be appreciated.
If not, are there plans to introduce integrated support in the future?
My current interests lie in WPF so that's really what I'm looking for.
TIA
Karl Shifflett from the Microsoft patterns and practices team has a detailed video on how to use the Data Annotations attributes in WPF. His source code is available via a link at the bottom of his blog post on his Stuff demo application.
Data Annotations is a nice middle ground between that and the ad-hoc validation one would normally see in the WPF books and tutorials and the more powerful Enterprise Validation Application Block that #Evan Larsen mentioned above. Plus, as you noticed, using Data Annotations allows for sharing of models with ASP.NET applications.
Regarding WPF, DataAnnotations support is not built in, but it shouldn't be too difficult to hook in to your own app.
The demo app of my open source library PDX shows one way to do it, but the documentation for 0.2 isn't quite finished yet :)
Here's another way to do it: http://babaandthepigman.wordpress.com/2010/02/14/wpf-commanding-and-data-annotations-validation/

What silverlight dev must learn to use arcGIS silverlight?

I am already familiar with Silverlight programming but not have any experience with GIS.
my role as silverlight developer is only to display existing GIS data.
If you guys have any experience with arcGIS silverlight control & api, what else do you think I must learn to be able to use it.
any learning reference could be helpful. thanks.
you don't need alot, you can dl the SDK from ESRI and then check out thier help site they have crap-loads of examples, both downloadable source and live samples (with the source code). If you have a license, you can use bing maps in the ESRI silverlight control--there are assemblies in the SDK for that.
as an aside, the SDK also includes the WPF assemblies as well.
It helps to have a basic understaind of the ESRI Map and Graphics object model for any of their API's (they all have similarities). The Silverlight API is much simpler than the Arcobjects API, but shares many of the same patterns.
If you are performing specific operations (such as distance calculations, map annotating, etc) there may be very specific concepts that will help. Can you post a question with more details about your goal?
I have made some different projects that used GIS data. I haven't tried arcGIS but used Bing Maps (http://www.bing.com/community/blogs/maps/archive/2009/03/18/introducing-the-virtual-earth-silverlight-map-control.aspx) and a Silverlight component from ThinkGeo (http://gis.thinkgeo.com/Microsite1/MapSuiteSilverlight2/tabid/709/Default.aspx?adcampaign=Map+Suite+Silverlight+Edition&leadsource=Google&adgroup=Silverlight+General&adtype=search&keyword=silverlight+map&gclid=CIu976aW0Z0CFZ1h4wodwGsDsA).
I think that Bing Maps is really easy to work with and there is lots of help available online. Maybe that can help you with some starting resources to argGIS?!
Chris is right. The help site has enough samples. I don't have Silverlight skills, so I really struggled with it and I was pretty bad at it too. I think the silverlight learning curve is much steeper.
I tried to wire up GIS tools/buttons to a ribbon control. It sort of worked, a silverlight dev would do a better job:
View esri-silverlight-toc-png
If you just need to control visibility, between services. It's real easy. Or if you have one service, with layers inside that you need to control...that's easy too.
But if you need both, you will have to roll your own layer control. I wired it up to a treeview, but it doesn't look sexy. ESRI may have a better TableofContents control out now, they didn't when I was messing with it:
View esri-silverlight-png

How do I play movies in a C# WinForm application

I am trying to play a movie (wmv,avi,mpg,etc.) in a winforms application. I would like the user to be able to start, stop and pause.
I'm not looking for a full answer ... I just need pointed in the right direction. I've already did some searching on google but could not find anything useful. I can continue searching but I know the stackoverflow community rocks.
So, please point me in the right direction!
Thanks.
I think this is probably the path of least resistance:
http://msdn.microsoft.com/en-us/library/bb383953.aspx
You could use Windows Media Player ActiveX control.
You could also embed a WPF control that contains a MediaElement control.
Another alternative is to use the VLC library instead of Windows Media Player. The VLC Forums have a number of wrappers that can be used in C#.
I have not done a comparison of VLC versus Windows Media Player, but it is alot less resource intensive then the WPF media elements.
If I remember correctly VLC also has built in support for alot of video formats, potentially making it a better choice I guess.
One possibility is to use the Forms.WebBrowser class. This will give you an embedded web browser so you can install what ever player and plugins you need.
It depends on how complicated you want to get, but I've had luck implementing DirectShow before. It's definitely more complicated than a drop on control, but it's really flexible for different formats and loading codecs.

TreeView Drawing

Is there a really quick and easy way to draw a TreeView in a GDI Graphics Object (its TreeNode Collection) in a way such as
alt text http://www.tenstep.com.br/br/TenStepPGP/imagens/EAP5.jpg
?
It could be a component do buy or any that is for free.
Thanks
There are be several ways to go about this:
Write it yourself (it's rather easy to do if you know the type of diagrams you're dealing with and customization is not important)
Automate one of the well-known applications which do that (Visio or Omnigraffle come to mind). In fact, when I had to programmatically generate manipulate diagrams like that, I ended up writing .NET code inside Visio.
Look through open-source UML tools to see if there is code you can use. A good list of such tools can be found on Wikipedia. Please pay attention to the license of the code you end up using.

Resources