0

Windows Phone 7/8 用のアプリを作成しています。デフォルトのタイルを WP8 のタイルのようにしたいので、次のように Mangopollo を使用します。

var tile = new IconicTileData
{
      Title = "WP Day",
      Count = 8,
      BackgroundColor = Colors.Transparent,
      IconImage = new Uri("/ApplicationIcon.png", UriKind.Relative),
      SmallIconImage = new Uri("/ApplicationIcon.png", UriKind.Relative),
      WideContent1 = "WP Developer Day",
      WideContent2 = "use Windows Phone 8 features",
      WideContent3 = "on Windows Phone 7 apps"
}.ToShellTileData();;

var tile2 = new StandardTileData
{
    Title = "E",
    Count = 9
};

ShellTile.ActiveTiles.FirstOrDefault().Update(tile);

しかし、それは効果がありません。「最初の」タイルをタイルオブジェクト (IconicTileData)で更新したい場合、何の効果もありません。しかし、tile2オブジェクトを使用すると、タイルが更新されます。何か案は?

TinyDO など、いくつかのアプリでそれが可能であることがわかりました。

4

1 に答える 1

0

リンクから変更した後、このコードを試しました: http://wp.qmatteoq.com/tag/mangopollo/

そしてそれは動作します..トリックを行うのはこの行です:

Uri navigationUri = new Uri("/MainPage.xaml?Id=5", UriKind.Relative);
private void OnCreateWideTileClick(object sender, RoutedEventArgs e)
{
    if (true)
    {
        var tile = new IconicTileData
        {
            Title = "WP Day",
            Count = 8,
            BackgroundColor = Colors.Transparent,
            IconImage = new Uri("/Assets/Tiles/IconicTileMediumLarge.png", UriKind.Relative),
            SmallIconImage = new Uri("/Assets/Tiles/IconicTileSmall.png", UriKind.Relative),
            WideContent1 = "WP Developer Day",
            WideContent2 = "use Windows Phone 8 features",
            WideContent3 = "on Windows Phone 7 apps"
        }.ToShellTileData();

        ShellTileExt.Create(new Uri("/MainPage.xaml?Id=5", UriKind.Relative), tile, true);
    }
    else
    {
        MessageBox.Show("This is Windows Phone 7");
    }
}

private void OnUpdateTileClick(object sender, RoutedEventArgs e)
{
    if (Utils.IsWP8)
    {
        IconicTileData tile = new IconicTileData
        {
            WideContent1 = "This is the new content",
            WideContent2 = "The tile has been updated",
            WideContent3 = "with success"
        };

        Uri navigationUri = new Uri("/MainPage.xaml?Id=5", UriKind.Relative);
        ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri == navigationUri).Update(tile);
    }
}
于 2013-11-30T12:27:05.360 に答える