UWP Share Target 打开主视图

UWP Share Target open main view

我的应用程序中的共享目标实现有问题。这让我发疯。

我有 App.xaml.cs :

protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            var rootFrame = new Frame();
            rootFrame.Navigate(typeof(ShareTarget), args.ShareOperation);
            Window.Current.Content = rootFrame;
            Window.Current.Activate();
        }

工作正常! --> 下一个:
在我的 ShareTarget.cs 中,我 "simply" 想打开应用程序主 window 如果打开或不打开。

目前我有:

        await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Frame.Navigate(typeof(MainPage), this));

仅在 "sharing" 框架内的右侧打开主页。我想打开主框架

在 MainPage 的 OnNavigatedTo 方法中

在这里,我尝试打开一个新视图并关闭共享框架:

var newView = CoreApplication.CreateNewView();
                await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    var frame = new Frame();
                    frame.Navigate(typeof(MainPage), null);
                    Window.Current.Content = frame;
                });

如果应用程序关闭,我会收到此错误消息:

WinRT information: Could not create a new view because the main window has not yet been created

如果应用程序打开,右侧的共享框架将导航到 MainPage 并在几秒钟后关闭。

无法相信 Microsoft 使形成正确的实施变得如此困难。

似乎唯一可行的方法就像@Raymon Chen 建议的那样,通过创建协议启动。

我用这个页面解释得很好:

http://www.c-sharpcorner.com/UploadFile/6f0898/inter-app-communications-in-windows-10-uwp535/

它包含一些拼写错误。请注意。