I worked on this Chess program for another project. I had started by looking at numerous available chess programs written in C# and using WPF, but alas did not find anything I felt was up to par as a basis for what I needed. They either made the chess/UI logic really complicated or had it tightly integrated or didn't use WPF strengths.
So, I put this project together to use proper WPF data separation techniques through data binding and templates as well as using a MEF back-end to give me some flexibility with the piece creation (my project used this a bit more intensively, but I wanted to simplify the example that I release for demonstration). It just cuts to the chase.
I'm just adding some more comments and cleaning up the code a bit and hope to have it posted by the end of the month.