不在调试模式下,Windows Phone 8辅助磁贴崩溃

时间:2014-03-11 01:14:15

标签: c# windows-phone-7 windows-phone-8 secondary-live-tile

我正在使用以下代码测试基本的二级实时图块(ShellTile)功能。创建磁贴工作正常,但使用磁贴导航到URI总是在调试模式下工作,但是当测试与计算机断开连接时我不知道为什么。我只用1块瓷砖测试。有趣的是,如果我重新启动,辅助磁贴将在重新启动后再工作一次。我错过了什么?

1>这是制作辅助磁贴的背后代码

    string path = @"/Views/test.xaml?text=" + parameter.ToString();
    StandardTileData tileData = new StandardTileData
    {
    Title = parameter.ToString(),
    BackTitle = parameter.ToString(),
    BackContent = parameter.ToString()
    };

ShellTile.Create(new Uri(path, UriKind.Relative), tileData);

2.test.xaml代码

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    string text= "";
    text= NavigationContext.QueryString["text"];
}

谢谢, 杰米

1 个答案:

答案 0 :(得分:0)

当NavigationUri的Tile与您的参数相同时,ShellTile.Create方法将崩溃。您应该首先检查磁贴是否存在,如下所示:

ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(parameter));

您可以根据内容选择包含或等于。然后:

if (TileToFind != null)
{
// Tile is existed, you can update it, but not add the same uri tile
}
else
{
// you can add new tile 
}