The sample you show in you question looks very simple. People do much more sophisticated work.
Most works are done on buttons.
Text box should be pretty simple, not to distract users. Readability is much more important.
First thing you need is some drawing skills. By that reason, for some 90% of developers a good button presents totally unresolvable problem. At least to my eyes (I cannot say my eyes are the eyes of an expert, not at all) most of the button components I see look completely tasteless. I think with text boxes it could be worse; as too busy text background is way too common.
Now, here is my recipe which only works on WPF. Make a vector drawing using the wonderful Open Source vector editor called Inkscape, see
http://en.wikipedia.org/wiki/Inkscape[
^],
http://www.inkscape.org/[
^]. It uses Scalable Vector Graphics format (SVG, see
http://en.wikipedia.org/wiki/Scalable_Vector_Graphics[
^]) but can export to XAML.
Export drawing to XAML and put it in Resource Dictionary. During run-time, you can scale it and use.
—SA