窗口


防止窗口激活

如果你的应用程序具有在显示时不应激活的窗口,则可在第一次调用 Show 方法之前,将其 ShowActivated 属性设置为 false。 结果是:
? 不会激活窗口。
? 不引发窗口的 Activated 事件。
? 当前激活的窗口保持激活状态。
但是,只要用户通过单击工作区或非工作区激活了窗口,窗口就会变为激活状态。

处理 Activated 和 Deactivated 的一个常见原因是启用和禁用只能在窗口处于活动状态时运行的功能。

public partial class CustomMediaPlayerWindow : Window
    {
        public CustomMediaPlayerWindow()
        {
            InitializeComponent();
        }

        void window_Activated(object sender, EventArgs e)
        {
            // Recommence playing media if window is activated
            this.mediaElement.Play();
        }

        void window_Deactivated(object sender, EventArgs e)
        {
            // Pause playing if media is being played and window is deactivated
            this.mediaElement.Pause();
        }
    }

窗口不处于活动状态,可以通过检查 IsActive 属性来确定。
如果后台任务已完成,则窗口可能需要通过调用 Activate 方法更紧急地通知用户。 如果用户与调用 Activate 时激活的其他应用程序交互,则窗口的任务栏按钮会闪烁。 如果用户与当前应用程序交互,则调用 Activate 会使窗口进入前台。

WPF