最小化事件(C#Win 8.1应用程序)

时间:2013-12-04 18:48:53

标签: c# xaml windows-store-apps windows-8.1

我正在为Windows 8.1开发一个应用程序,我需要执行一种方法来暂停某些任务或在边栏中最小化应用程序时播放声音。

我试过了:

Application.Current.Suspending += new SuspendingEventHandler(Method_Name);

private void Method_Name(object sender, object e)
{
     Other_Method();
}

但是,在我最小化应用程序后,此事件需要几秒钟(5~10)。

将应用程序拖到侧边栏时会发生什么事件?什么过程发送事件?

感谢。

2 个答案:

答案 0 :(得分:1)

查看this post以获取答案。它是WindowSizeChanged并检查ApplicationView.Value的值。

[编辑]

显然8.1的事情发生了一些变化。不推荐使用ApplicationView的东西(这很快),但这仍然发生在窗口的SizeChanged中。 Check out this了解更多详情。

答案 1 :(得分:1)

经过长时间的搜索,我发现了一些不是我想要的东西,但它确实有效。

每次页面的可见性发生变化时都会发生此事件(例如,已启动,最大化或最小化),然后您必须使用if运算符执行某些条件。

Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(One_Method);

private void One_Method(object sender, Windows.UI.Core.VisibilityChangedEventArgs e)
{
    if(Some_Condition)
    {
        //TODO: Code that you want execute.
    }
}

如果有人知道更高效的话,我会保持答案公开。