0

我正在尝试在我的应用程序中实现动态磁贴。这是我在网上找到的更简单的过程。但我得到了一个 Uri 异常。

这是代码:

    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        InternetIsAvailable(); GetDataFeed(); BackTile();
    }

    public void BackTile()
    {
        StandardTileData backData = new StandardTileData
        {
            BackBackgroundImage = new Uri(@"https://dl.dropbox.com/u/27136243/AchivementHunters/Images/LatestTile.png", UriKind.Absolute),
        };
        ShellTile tile = ShellTile.ActiveTiles.First();
        tile.Update(backData);
    }

我想通过替换图像来更新背面图块。我看到很多包含服务器的教程,但我对服务器一无所知。

如果我在解决方案中包含文件并使用它:

            BackBackgroundImage = new Uri(@"LatestTile.png", UriKind.Absolute),

它工作正常。

如何从 URL 下载图像并将其保存为背面图像所需的特定路径?

4

2 回答 2

2

StandardTileData的文档指出“只能使用本地图像资源创建辅助瓷砖”

您将需要使用 WebClient下载图像并将其保存到 IsolatedStorage,然后指定要使用的活动磁贴的isostore URI

希望这可以帮助!

于 2012-07-23T14:28:47.433 回答
1
BackgroundImage = new Uri("https://dl.dropbox.com/u/27136243/AchivementHunters/Images/LatestTile.png", UriKind.RelativeOrAbsolute)

您的代码是正确的,只需删除 '@' 并使用 'RelativeOrAbsolute'

看起来从安全站点(即使用 URL https)获取图像是不可能的。

于 2012-09-06T08:06:01.980 回答