Your comments

No, they have to be the same colors. Do you have some advice on how to do this as a single mesh? 
I also tried to create an inherited class from HelixVisual3D to just add the caps but it's too much for my limited wpf knowledge. :-( I couldn't even discover where the class create the surface.