Вы можете создать прозрачное фоновое окно следующим образом:
var darkwindow = new Window() {
Background = Brushes.Black,
Opacity = 0.4,
AllowsTransparency = true,
WindowStyle = WindowStyle.None,
WindowState = WindowState.Maximized,
Topmost = true
};
darkwindow.Show();
MessageBox.Show("Hello");
darkwindow.Close();
и заменить MessageBox.Show("Hello");
на mywindow.ShowModal();
.Возможно, вам нужно будет сделать mywindow
всегда сверху.
Edit
Не используйте darkwindow.Hide () вместо Close ().