2013-12-12 37 views
0

我創建我的瓷磚如下,希望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&amp;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&amp;panelId=106398738"</wp:Param> 

是否可以深層鏈接具有可變的查詢字符串瓷磚?如果是這樣,怎麼樣?

+0

......近18個小時後也沒有反應,我很驚訝,顯得如此合理的請求似乎並沒有在Windows手機成爲可能!這個操作系統的功能有一些重大的限制。 – DaveDev

回答

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); 
} 
相關問題