【发布时间】:2016-09-26 09:56:48
【问题描述】:
我的应用中的共享目标实现存在问题。这让我快疯了。
我的 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 中,如果打开或未打开,我会“简单地”打开应用程序主窗口。
目前我有:
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Frame.Navigate(typeof(MainPage), this));
仅在“共享”框架内打开右侧的主页。我想打开主框架。
在 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 信息:无法创建新视图,因为主窗口 尚未创建
如果应用打开,右侧的共享框架会导航到 MainPage 并在几秒钟后关闭。
不敢相信微软让形成正确的实施变得如此困难。
【问题讨论】:
-
共享目标是托管视图。这意味着它在共享窗格内运行。不建议应用尝试跳出共享窗格。如果您真的想跳出窗格,您可以自己启动协议。
-
谢谢。我读到了。这是唯一的可能吗?我怎样才能让它开得更久?无论如何,当导航到“MainPage”时,它似乎也会在大约 10 秒后关闭。
-
您不应在共享窗格中导航。预期的 UI 是直接在共享窗格内向用户显示共享页面作为单个页面,在此处执行共享操作,然后关闭窗格。
-
一旦我想要完成共享,我至少可以以某种方式激活主窗口吗?问题是我需要在主页上完成分享。
-
查看我的第一条评论。您可以启动协议。
标签: uwp sharing uwp-xaml data-sharing