我有几个问题,二次瓷砖与模板10。
第一种情况是,即使源代码在GitHub存储库中并且看起来很旧,在我使用的版本(1.1.12)中也找不到这个GitHub。我已经尝试搜索一个模板10服务nuget包,但找不到一个。
为了使用辅助瓷砖服务,我将源代码复制到我的应用程序中。
我的第二个问题是如何处理从二次瓷砖发射。我似乎找不到这方面的任何文档。
在非模板10应用程序中,我可以在App.xaml.cs中重写App.xaml.cs方法,并使用LaunchActivatedEventArgs参数的TileId和参数属性来处理指向相关视图的导航。
但是,模板10 BootStrapper封装了OnLaunched方法,并且没有提供任何明显提供启动参数的内容。
发布于 2016-10-20 09:52:03
在GitHub中看到的模板10服务没有包含在任何Nuget包中,原因不明。
在模板10中,处理从第二块瓷砖启动是一个相当模糊的过程。
首先,在OnStartAsync方法中,使用Bootstrapper的DetermineStartCause方法获得AdditionalKinds枚举值。如果值为AdditionalKinds.SecondaryTile,则该应用程序是从第二个瓷砖启动的。然后,可以将IActivatedEventArgs参数转换为LaunchActivatedEventArgs,其中包含TileId和启动参数。
抽样实施情况:
public override Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
{
AdditionalKinds cause = DetermineStartCause(args);
if (cause == AdditionalKinds.SecondaryTile)
{
LaunchActivatedEventArgs eventArgs = args as LaunchActivatedEventArgs;
NavigationService.Navigate(typeof (DetailPage), eventArgs.Arguments);
}
else
{
NavigationService.Navigate(typeof (MainPage));
}
return Task.FromResult<object>(null);
}发布于 2016-10-20 07:27:09
为了使用辅助瓷砖服务,我将源代码复制到我的应用程序中。
我认为您使用这个SecondaryTileService是正确的,还有其他服务,例如LocationService,它们只是没有包含在模板10的Nuget包中。
我的第二个问题是如何处理从二次瓷砖发射。我似乎找不到这方面的任何文档。
您可以参考这个博客的“引导程序”部分:Template10:创建通用Windows应用程序的新模板--基础。
在OnStartAsync()方法中,您可以从第二块处理启动。
核心是OnStartAsync()方法,它是应用程序的起点,与激活的场景无关。无论应用程序是使用主块、次块还是从to通知打开的,OnStartAsync()方法都会被调用以让您作为开发人员处理主导航。
https://stackoverflow.com/questions/40118798
复制相似问题