I’m using System.Windows.MessageBox in a WPF app, and for some reason its buttons are styled the Windows 2000 way – not WinXP, not Aero, not the WPF default. Just gray with basic 3d borders.
How can I make them appear with a more modern style? (doesn’t really matter which one)
You can fix this with a manifest. See this article for step-by-step instructions: Why am I Getting Old Style File Dialogs and Message Boxes with WPF
Basically, you have to add an XML file called a ‘manifest’ to your application.
Update:
Actually, it is very easy to do this in VS2008. Go to Project Properties->Application and click the ‘View UAC Settings’ button. This will automatically create an application manifest file and open it. Edit this file as follows:
Just after the line:
Paste in the following dependency section:
My complete manifest looks like this:
After doing this, just build your app, run, and voila, the MessageBox dialog buttons take on the system theme style.