I'm trying to hunt down what bit I need to tweak to get ContextMenus in WPF to stop animating when they appear/disappear.

From what I can tell, WPF creates a Popup to host the ContextMenu. The Popup looks at its PopupAnimation property and decides how to animate. What I want to do is always have that set to "None".

I've tried setting a global unnamed style with a TargetType of Popup that sets PopupAnimation to None but this does not work. If I break in System.Windows.Controls.Primitives.Popup.SetupAnimations I can see that the animation type is still set to Fade. I'm guessing that it hasn't had a chance to apply styles yet..

I've tried hooking ContextMenuOpening but there's no access to a Popup in there that I could find.

What else could I try?

*Note that this is sort of the second part of another question I asked [here](https://stackoverflow.com/questions/3121726/how-to-prevent-animating-menus-in-wpf). The advice there worked great for menus and everything else we had that was animating, but the one exception has been ContextMenus. They animate based on properties in code, not a template. I verified this by pulling the ContextMenu template out using the advice given [here](https://stackoverflow.com/questions/641634/default-contextmenu-style-wpf/676176#676176).*