How do I darken all screen area and glow my opened window in WPF?

后端 未结 4 465
花落未央
花落未央 2020-12-31 17:00

In WPF, how do I darken all screen area when opening a new window?

Also after the window is closed, how do I revert the temporary effect?

4条回答
  •  渐次进展
    2020-12-31 17:34

    Here is my version, if you want gray out and blur the parent window:

    private void btnOpenSettings_Click(object sender, RoutedEventArgs e)
        {
            // settings for the parent window
            // set the transparency to the half
            this.Opacity = 0.5;
            // blur the whole window
            this.Effect = new BlurEffect();
    
            // Set the options for the settings (child) window
            SettingsForm wdwSettings = new SettingsForm() 
            { 
                Owner = this,
                ShowInTaskbar = false,
                Topmost = true
            };
    
            // Open the child window
            wdwSettings.ShowDialog();
    
            //restore Opacity and remove blur after closing the child window
            this.Opacity = 1;
            this.Effect = null;
        }
    

提交回复
热议问题