Just apply a MonochromeEffect
from the WPF Shader Effect Library whenever you popup a dialog:
When opening a dialog:
Application.Current.MainWindow.Effect = new MonochromeEffect() { FilterColor = Color.FromArgb(255, 90, 90, 90) };
When closing a dialog:
Application.Current.MainWindow.Effect = null;