Is there a best way to implement a control like this in WPF?
I can easily r
You could draw the full progress indicator, set up a clipping mask for the progress indicator, and either alter or swap that mask with another mask at the appropriate points during your program's execution. If you wanted to get really creative, you could make a control that can define any arbitrary number of points.
This article tells you about generic clipping masks in Expression: http://expression.microsoft.com/en-us/cc197119
This article shows you some code that may be a little more relevant: http://blog.pixelingene.com/2009/02/animating-graphs-in-wpf-using-clipping-masks/ and in this code, you could easily adjust the RectangleGeometry at runtime.
So what I get from all this reading and pondering is that you'd possibly try the Clip property on your blue progress indicator, and leave the background as-is.
That's the route I would probably take. Hope this helps!