0

WP7 に動的タイルを追加することは何とか可能ですか?ここで、ロゴが中央にある PNG ファイルを取得し、それに背景色を追加しますか?

次のようになります。

ここに画像の説明を入力

現時点では、次のようにタイルを作成します。

private void addShortcut_Click(object sender, EventArgs e)
    {
        string Url = GlobalVariables.Uri;
        StandardTileData NewTileData = new StandardTileData
        {
            BackgroundImage = new Uri("img/red.jpg", UriKind.Relative),
            Title = "Energy "+GlobalVariables.Name,
            Count = 0,
            BackTitle = "Radion Energy",
            BackContent = "Hitmusic Only!",
            BackBackgroundImage = new Uri("img/test.jpg", UriKind.Relative)
        };
        try
        {
            // Create the Tile and pin it to Start. This will cause a navigation to Start and a deactivation of our application.
            ShellTile.Create(new Uri("/MainPage.xaml?stationName=" + stationName + "&tile=true&name=" + GlobalVariables.Name + "&url=" + Url, UriKind.Relative), NewTileData);
        }
        catch
        {
            MessageBox.Show("Channel-Tile exists already.");
        }
    }

したがって、現時点では、Background は常に Phonestyle 自体と同じ色になります。(red.jpg は実際には赤い四角形なので、その理由はよくわかりません。:) 現時点では、ロゴが入っていないので、ただの白紙です。

ありがとう :)

4

4 に答える 4

1
private const string FLICKR_LIVE_TILE = "/Shared/ShellContent/flickr_live_tile.jpg";
private const string FLTile = "/Shared/ShellContent/FLTile.jpg";

WriteableBitmapお好みのソースでご用意ください

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
                if (myIsolatedStorage.FileExists(FLTile))
                {
                    myIsolatedStorage.DeleteFile(FLTile);
                }
                using (IsolatedStorageFileStream iso = new IsolatedStorageFileStream(FLTile, FileMode.OpenOrCreate, IsolatedStorageFile.GetUserStoreForApplication()))
                {
                    WriteableBitmap1 .SaveJpeg(iso, 768, 200, 0, 100);
                    iso.Close();
                }
                if (myIsolatedStorage.FileExists(FLICKR_LIVE_TILE))
                {
                    myIsolatedStorage.DeleteFile(FLICKR_LIVE_TILE);
                }
                using (
             IsolatedStorageFileStream isoFileStream = new IsolatedStorageFileStream(FLICKR_LIVE_TILE, FileMode.OpenOrCreate,
             IsolatedStorageFile.GetUserStoreForApplication()))
                {
                    WriteableBitmap2 .SaveJpeg(isoFileStream, 336, 200, 0, 100);
                    isoFileStream.Close();
                }




                var shellTileData = new FlipTileData
                {
                    BackgroundImage = new Uri("isostore:" + FLICKR_LIVE_TILE, UriKind.RelativeOrAbsolute),
                    //BackContent = "Connectivity Slab",
                    SmallBackgroundImage = new Uri("isostore:" + FLICKR_LIVE_TILE, UriKind.RelativeOrAbsolute),
                    WideBackgroundImage = new Uri("isostore:" + FLTile, UriKind.RelativeOrAbsolute),
                    WideBackBackgroundImage = new Uri("isostore:" + FLTile, UriKind.RelativeOrAbsolute),
                    BackBackgroundImage = new Uri("isostore:" + FLICKR_LIVE_TILE, UriKind.RelativeOrAbsolute),
                };
                var tile = ShellTile.ActiveTiles.First();
                tile.Update(shellTileData);

幅の広いタイル画像と短いタイル画像の両方を作成するのに役立ちます

于 2013-12-12T13:50:28.280 に答える
1

画像が「コンテンツ」に設定されていますか?

于 2012-05-02T10:17:58.967 に答える
1

私は Ree7 Tile Toolkit を使用しました。これにより、カスタムの背景色でタイルをセットアップできます。ソース コードには、ツールキットの使用方法を説明および実演するサンプル プロジェクトが含まれています。

http://wp7tiletoolkit.codeplex.com/

于 2012-05-02T10:21:32.817 に答える
0

正方形だけが表示される場合は、画像の URI が正しく設定されていません :-)

編集:画像も「コンテンツ」に設定する必要があります(すでに言及されています)

于 2012-05-02T10:36:37.270 に答える