+2  A: 

I believe you you'll have to write a custom shader effect to make WPF blend colors in a different way.

http://msdn.microsoft.com/en-us/library/dd901594%28VS.95%29.aspx Scroll to Creating a Custom Pixel Shader Effect

It's not a trivial thing, I understand. Sometimes it's easier to compromise by using static graphic resources. Our UI designer cannot live with WPF color blending, so some parts of our interface use simple .png files where he absolutely had to have it look a certain way.

Egor
+4  A: 

What you are looking for is called blend modes if you google it you'll find a lot . Here is a simple example how it can be achieved using pixel shaders. You would use multi-input shader effect for this.

Here is a very good complete tutorial that walks you through creating a reusable library of blend modes using multi-input shader effect.

Blend modes as an intrinsic part of the WPF APIs has been frequently requested since early CTPs but never made it into the product.

bitbonk
Thanks for this. It's unfortunate that they're not supported, but Adam Smith does a good job of explaining why that's the case at the link you provided. Cory Plott's three-part tutorial makes for good reading too.
Drew Noakes
Thanks for the compliment Drew! The series now has 6 posts with one more planned in my head.
cplotts
+2  A: 

Just ran into this question ... but you can use my blend mode library to do this in certain situations (unfortunately there are some limitations ... we really need this capability burned into the WPF API).

bitbonk references the beginning post in my blog series ... but every post has source code and binaries attached for the blend mode library itself.

Here is the series so-far (in chronological order). I do want to write one more post on how these blend modes can be used ... and what value they bring to the table.

If I could point you to one set of source code/binaries to use, it would be the one where I make the blend mode library opacity aware. This is the latest and greatest bits that work on both WPF and Silverlight. The final post which has the hue, saturation, color, and luminosity effects is a WPF only version of the library, as Pixel Shader 3.0 is required for these effects and currently only WPF 4.0 supports that.

Good luck and let me know if you use my library!

cplotts
Cheers Cory for your work in this area. I agree it would be great to have support for this in the framework itself (and Adam Smith goes some way to explaining why this isn't in there yet http://social.msdn.microsoft.com/forums/en-US/wpf/thread/e41de282-7d7a-4127-9d8d-815e66354a87/).
Drew Noakes
Thanks Drew. Yeah, great explanation ... isn't it. You'll notice that I commented in the thread. :)
cplotts