我按照以下方式创建了我的磁贴,希望在运行时将panelId={0}
解析,当我将磁贴通知发送到手机时。
StandardTileData NewTileData = new StandardTileData
{
BackgroundImage = new Uri("tile_medium.png", UriKind.Relative),
};
ShellTile.Create(new Uri("MainPage.xaml?Name=MyTile&panelId={0}", UriKind.Relative), NewTileData);
然后我发送以下通知:
<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Tile Id="/MainPage.xaml?Name=MyTile&panelId=106398738">
<wp:BackgroundImage>alarm.png</wp:BackgroundImage>
<wp:Count>72</wp:Count>
<wp:Title>My Title</wp:Title>
<wp:BackContent>Text of the tile</wp:BackContent>
</wp:Tile>
</wp:Notification>
我希望将panelId={0}
解析为panelId=106398738
,但这似乎不会发生。即使服务器确认收到通知,手机也不会更新磁贴。
我还尝试将<wp:Param>
添加到查询字符串中,如下所示,但这也不起作用:
<wp:Param>/MainPage.xaml?Name=MyTile&panelId=106398738"</wp:Param>
是否可以使用可变查询字符串深度链接磁贴?如果是这样,怎么样?
答案 0 :(得分:0)
我建议使用以下代码段:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.New)
{
string textValue;
int value;
if (NavigationContext.QueryString.TryGetValue("panelId", out textValue))
{
if (int.TryParse(textValue, out value))
{
// got it!
}
}
}
base.OnNavigatedTo(e);
}