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 に答える