WinForms and WPF interop issue

I had to add  Windows Forms chart control to a WPF app. I hosted it using WindowsFormsHost. Things worked fine until I noticed that there is no scroll bar when I add several controls.

First, I tried to add WPF scrollbar to parent panel of WindowsFormsHost but it behaved weirdly. The scrolled WinForms controls goes out of window bound to other windows! And it is drawn on top other windows. In other words, when scrolled, it floated freely as if there is no window. 

Later, I tried to add a WinForms panel (any type of panel will work) to WindowsFormsHost and add scroll bar to the WinForms panel. It worked! Yeah!

I realized that if you need to scroll WinForms controls, you need to use WinForms scroll bar.

Note that WPF scroll bar is outside of WindowsFormsHost and the WinForms control is inside of WindowsFormsHost.  Using WPF scroll bar to scroll WinForms control is nothing short of begging for trouble.

Advertisements
WinForms and WPF interop issue

First look at Nevron chart library

Nevron is comprehensive & very powerful. It is the first OpenGL chart via WinForms (so it has potential of WPF chart, which is DirectX-based). In term of feature set, it has everything Dundas has.  

But it  is also complicate & somewhat confusing & harder to use. Documentation is good but not as good as Dundas.

You have to go down several level to reach a  particular property field; while the same property field in Dundas can be accessed in 1 shot. It took me 1 hour to build a cool/fancy template Dundas chart (diagonal gradient background, emboss style, time-based series, title font/style, legend…). And it took me 2 days to the same task in Nevron with the help you Nevron support team!

After the initial learning curve, things get a lot easier.  I was able to do a lot of things with it and found it very powerful, even more powerful than Dundas with cheaper price. I do like it now.

First look at Nevron chart library

First look at Dundas chart library

I had a chance to evaluate Dundas .NET WinForms chart ((there is no WPF version yet)) in 2008.
Dundas chart is very polish, very easy to use, has great documentation and has a comprehensive feature set: real time charting, scaling, zooming, scale brake, annotations, context menu, threshold (if value goes down/up to a certain value, chart will pop up an annotation! cool!) … It took me 1 hour to build a cool/fancy template Dundas chart (diagonal gradient background, emboss style, time-based series, title font/style, legend…) thank to Dundas chart builder tool. But it is expensive. Enterprise version is not royalty-free! Ooch!
Update:
 –  Here is link to Dundas feature list
– I mentioned chart threshold feature but the feature is not listed in standard feature list. I had to dig it out from demo.  Here is link to Dundas chart threshold feature.
First look at Dundas chart library

Hello World on Windows Mobile

I have HTC Touch cellphone running on Windows Mobile 6.1. I always wanted to write  some apps on it for awhile just to play with it. Finally, I was able to find time and wrote a Hello World app using WinForms.

The cool part of .NET is that I can run the problem on my PC w/o using emulator. In fact, it’s faster to debug by running the .NET assembly then using emulator.

Hello World on Windows Mobile

.NET 3rd party chart evaluation/review

I had a chance to work on chart component (2008). I went through a lot of 3rd party products. I not only researched using their websites but also downloaded the software package, wrote a prototype for each to form opinion about it…
The evaluation took longer than I expect . I think it’s worth it because you don’t want to commit a toolkit and later find out its shortcoming.
I considered both WinForm charts and WPF charts. Eventually, I narrowed down to 4 companies: Dundas, Nevron, Infragistics, SyncFusion… Leave comment if you want to see review of other products such as ComponentOne, DevComponents… I also a comparison spreadsheet. If I found it, I’ll post it.
Here are my first look at those charts:
We decided on WinForm chart because WPF charts currently offering is not mature enough.
Dundas chart wins out as it is very easy to use and has comprehensive feature set.
But later I found out that the feature we need is only available in Enterprise edition. Enterprise edition license is not royalty-free license; making it prohibitively expensive. Management said no.
So we decided on Nevron.
.NET 3rd party chart evaluation/review