So I am looking to get back into graphics programming and purchased a copy of Managed DirectX 9: Graphics and Game Programming by Tom Miller. In a word: wow.  The book itself is well written, but what amazes me is the subject matter.
(http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0672325969)

I only have had time to go through the first six chapters and am just giddy with excitement.  When I purchased the book I was just looking for a way to transfer my OpenGL code to managed code, but what I found was much more. Managed DirectX may just be the most awesome thing to happen to managed code since the foreach loop.

Years ago when I came to the conclusion that OpenGL was a better graphics API than DirectX 6.0, it was mainly because of simplicity.  Where DirectX offered power and extensibility, OpenGL offered elegance.  But a lot has changed since then.

Looking through the Managed DirectX code, there still are a lot of special functions to call and parameters to set but the real beauty comes in the power of using a higher level language.  By calling DirectX through a well organized Managed API you are getting the best of both words- access to cutting edge graphics card technology and the simplicity of C# / VB.NET. 

As soon as I finish the book I’ll post a more formal review, but in the meantime I would definitely recommend you check it, and Managed DirectX, out.