UWP App可以自我激活它的窗口吗?

时间:2018-03-23 23:49:12

标签: c# uwp

public class MainViewModel MyViewModel : INotifyPropertyChanged
{
    Window window { get; set; }

    public MyViewModel()
    {
        window = Window.Current;
    }

    async void MyWebSocketService_PropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        switch (e.PropertyName)
        {
            case "ActivateWindow"
            ActivateWindow();
            break;
        }
    }

    void ActivateWindow()
    {
        await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            window.Activate();
            window.CoreWindow.Activate();
        });
    }
}

我试图获取一个隐藏或最小化的UWP应用程序,以便在WebSocket通知时重新关注操作系统。这是我试过的代码。它发射但没有任何反应。有没有办法实现我想要做的事情?

1 个答案:

答案 0 :(得分:4)

UWP应用程序无法从最小化状态恢复自身,因为其执行状态已暂停(因此无法运行任何代码)。简历需要由用户或其他正在运行的应用程序在外部触发,该应用程序可以通过任何支持的应用程序激活API激活已暂停的UWP应用程序,例如通过协议启动 - 正如您已经想到的那样。 / p>