I want to create a color picker in WPF/C# similar to what I see in Photoshop.

As I move the Hue Slider, the gradient should update. I 1st want to know how can I create the gradient, where should individual color stops appear and what color values should they contain.
The above maybe harder to implement as the gradient composes of
- White - Red
- White - Black
- Black - Red
I can create individual gradients easily but how can I create a "composite" gradient like this?
A simpler alternative is have 3 sliders each for HSB values.

As I move one slider, colors on the 2 other slider should update. Any links or tips to get me started? I need to find a way to calculate colors on 2 other sliders as I move one. Eg. when I move the Hue slider from Red - Blue, Saturation and Brightness should update from say a unsaturated to saturated red to blue and dark to light red to blue.