views:

422

answers:

2

I currently have a Win32 application (developed in C++ Builder/VCL) which I am redesigning from the ground up for WPF 4.

One of the core functions in the app is drawing engineering/scientific plots. I love the control I'm using now (iocomp Plot Pack - excellent product with phone support!), but they don't have a WPF version and don't seem interested in creating one. They do have ActiveX and WinForms versions available, but I'd rather stick with a pure WPF solution if possible.

The single most important plot feature for my app is speed. I currently plots up to a million points of double data at a time, and accomplishes this in a couple of seconds. As my app evolves the data sets will expand in size. Of course there are other features I need as well: multiple traces (channels), rubber band zooming, annotations, user definable filled areas and so forth.

Now on to my questions:

1) Is there a WPF control which will provide me the speed I'm looking for?

2) Will I be able to host the ActiveX (preferred as it's faster) or WinForms versions in a WPF window without sacrificing plot functionality such as interactivity?

3) If I must use an ActiveX or WinForm control, can this be done in such a way that the plot control looks 'right', as if it were a native part of the WPF control set rather than something we had to 'beat to fit and paint to match' as we used to say in the Navy.

4) Are there examples of using non-trivial ActiveX controls in WPF applications?

Thanks!

A: 

Have you looked into a custom WPF control?

Have a look into WPF Control Template.

Tony
Unless I've missed somehting Control Templates allow me to modify the look and feel of existing WPF controls.What I'm looking for is a WPF control that meets my plotting requirements.
casterle
It also allows you to modify the behaviour of the control, so you have to take a control, like a canvas maybe and make it behave like the control you want... I think that's your best option. Or else you have to look into buying a set of controls from ComponentOne or someplace like that. They have graph like controls.
Tony
Thank, Tony. Buying a plot control is what I want to do. I'm looking for recommendations for a control that meets my performance needs.
casterle
A: 

I am looking for exactly what you are looking for. I have a prototype application done in Labview and now migrating to WPF; and I have to live up to Labviews speed and flexibility of graph plots.

Have you had any luck finding anything that comes close to your needs? I looked into Telerik and DxCharts Infragistics... they tend to be more geared towards small data plots and are focused more on the ease of use than the performance side of things.

I guess our best hope might be to go for something like http://dynamicdatadisplay.codeplex.com/ and make it work for our situations. It is going to require some work though.

Dawit
I haven't yet found what I'm looking for, and the possibiliites I have found lack some of the features I need (draggable annotations, drawable 'bands' overlaying the plot data, etc). In the Win32 world, I've been using Iocomp's plot pack (http://www.iocomp.com/Products/Default.aspx) which is fast, feature rich and has outstanding phone support at no extra charge. They do have a WinForms product, but nothing for WPF. When I get a chance, I'm going to try to host the WinForms control in WPF, but I've read that there are problems with interactivity using this approach.
casterle