Another important part of templating contols in Blend is the ability to go from the control parts to the control quite quickly.
This works incredibly quickly for something like a Button – let’s say that I wanted an irregularly shaped button. If I just go ahead and draw a Path like this one;

then there’s a difference between this Path being inside a regular Button as the content using the regular template for a Button as in;

and the Path itself actually being a Button in the sense of getting rid of all the additional Chrome that we’ve got here and just leaving the Path. I can quickly achieve the latter by right mousing on the Path and using;

and Blend will ask me what I’m trying to do;

and the usual questions about where to put the resulting style that I’m going to end up creating here and once I’ve made those selections it will make me a new style for a Button and drop me into the template editor for the template within that style and it’ll drop my content (the Path) into that template.
It also drops in a ContentPresenter here which I can just remove if I don’t want it;

and that would leave me with a template for a Button which displays and hit-tests around this “hard-coded” star polygon and I’ve very quickly gone from drawing a shape on the artboard to making a new control template.
As an aside, it’s more likely here that what I’d really want is to leave the ContentPresenter where it is and get rid of the Polygon so that I’ve then made a Button style which can display arbitrary content without any chrome. Every time I then use this Button template I can drop the right content (e.g. the polygon) into it.
Buttons are simple though, let’s say that it’s a more complex control like a ScrollBar that I’m trying to redefine. Blend itself has nice looking scrollbars;

that I might want to reproduce.
This does require a little knowledge of how the ScrollBar is made up but, nonetheless, I can quickly draw out a Grid onto the artboard that has 5 columns in it as in;

I can set the Background to some colour;

and then add a triangle shape into the first and the last column, setting the height to a value of 16 and letting the width figure itself out and telling the grid columns to automatically size themself to the content ( and not forgetting to get rid of any minimum size value on those columns );

Now, I can add a “thumb” rectangle into the middle of the grid, once again telling that column to auto size itself;

and, lastly, I can add rectangles into the remaining 2 columns;

It’s not immediately obvious what these rectangles are for but the ScrollBar control has an expectation around particular parts being present when it is redefined and these 2 rectangles will play a part.
I’ve left all columns set to auto-size except column 3 which is set to claim any remaining space ( star-sized ).
With that quickly sketched out, I can right mouse on the grid and hit “make into control”;

which gives me a choice around what kind of control I’m trying to make;

and the usual Blend choice around whether this is an implicit/explicit style and where to put the resulting style from a resource perspective. If I make my choices then I’m left editing my new template;

which already has my UI pieces within it. I can go and open up the Parts panel and see what parts there are for a ScrollBar;

I’ve only drawn one half of a ScrollBar template because it has 2 separate (very similar) sections for a vertical ScrollBar and a horizontal ScrollBar but I can now start to turn my UI elements into recognised parts of the ScrollBar;

Now, the thing to know about this is that I have a Path depicting a triangle here but what the ScrollBar is expecting as this part of its control is a RepeatButton.
Consequently, Blend raises a UI for me which tries to bridge the gap between what I have ( Path ) and what I need ( RepeatButton ). I could avoid this by simply replacing my Path with a RepeatButton which contained the Path and then Blend wouldn’t try and help me bridge the gap.
In this instance, what I chose to do is to insert a RepeatButton, set its template to {x:Null} and then drop my Path inside of it.
I repeated that process with the triangle in the 4th column of my Grid and then identified these 2 RepeatButtons as the HorizontalSmallDecrease and HorizontalSmallIncrease parts of my ScrollBar as in;

It’s a similar story for the HorizontalLargeIncrease and HorizontalLargeDecrease parts of the ScrollBar template and so I followed the same procedure for those ( my 2 rectangles living in columns 1 and 3 ) leaving;

All that’s left is to select the remaining Rectangle and make it into the “HorizontalThumb” of my ScrollBar’s template. Once again, Blend notices that we need a Thumb but we have a Rectangle and so offers to re-template the Thumb for me;

and this time I go along with it and allow Blend to make a template for the Thumb for me;

which I just change a little with respect to margins and strokes and then come out of editing that template to take a look how my ScrollBar is coming along;

I also marked up the Grid as being the HorizontalRoot of the ScrollBar and with that I’ve got a redefined ScrollBar that looks a bit more like the ones in use in Blend.
I can test it out by adding a big image to my project and then dropping it into a ScrollViewer on my artboard and telling that ScrollViewer to scroll horizontally (i.e. setting HorizontalScrollBarVisibility to Auto rather than Disabled ).
I can then edit the ScrollViewer’s template;

and within there go ahead and change the horizontal ScrollBar such that it uses my new template;

and then I’ve got my new ScrollBar template in use;

and I can run and test it “live” in the application where it looks to work fine.
This is an alternative way of viewing template creation. Rather than starting out in the template editor, you start by drawing out the UI elements and then you use “make into control” to take those parts into the template editor.
For some templated controls like the ScrollBar here it’s important that they can identify certain elements in your replacement UI. The ScrollBar needs to be able to size things properly and so it needs to be able to identify the Thumb and so on and this is where Blend helps out with the Parts tab by making it easy for you to specify which of your UI elements make up that particular part of the control that you’re templating.
In terms of this ScrollBar, I’d need to go back and add the template for the vertical orientation and I’d also perhaps want to change some of the brushes that I’m using such that rather than being hard-wired into the template they, instead, relied on template binding to pick up brushes that the user wants to use when they come to define their ScrollBar instances…