Tuesday, March 24, 2015

WPF weirdness when Windows uses "Adjust for best performance"

I had a support call from a client with a very odd WPF issue.
When they tried to set a checkbox inside a dropdownlist control they could not see the tick, although is was being set and saved.

Both checkboxes are ticked, but when they hover over the item the tick disappears. It looked as if when the forec olour is set to white on the text that it is also setting the tick fore colour to white as well..

It should look lik:

On closer inspection you might notice that the buttons are rendered differently, both browsers are the same version IE11 (actually its 100% the same browser in the screenshots), so why the difference.


Remember when windows started shipping with 'Aero'?
There was a few of us that didnt like it as it slowed stuff down and by turning it off, you could speed up your machine, from memory servers by default had aero turned off for this reason (and others I am sure).

By turning setting my windows to adjust for Best Performance:

  I could replicate the hover issue on my PC.

By setting the client PC to use default settings:

I fixed the bug and everything is back to normal.

This is a really weird bug and I havent found mention of it online anywhere, so hopefully it helps someone out there.