0

我正在使用下面的代码测试基本的辅助动态磁贴(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"];
}

谢谢,杰米

4

1 回答 1

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 
}
于 2014-03-11T01:45:04.110 回答