使用MangoPollo的Wide Tile Windows Phone 7.1

时间:2014-01-07 19:44:56

标签: windows-phone-7 windows-phone-8 windows-phone-7.1

我有一个Windows Phone 7.1应用程序,我想要包含一个广泛的标志性瓷砖。我找到了一个名为MangoPollo的库:

http://mangopollo.codeplex.com/

我在以下网址找到了这个代码:

var tile = ShellTile.ActiveTiles.FirstOrDefault();
if (tile != null)
{
    var tileData = new FlipTileData();
    tileData.Title = "Start Debugging";

    tileData.BackContent = "switch to windows phone, we've got candy";
    tileData.BackgroundImage = new Uri("Assets/tileBackground.png", UriKind.Relative);
    tileData.BackBackgroundImage = new Uri("Assets/tileBackBackground.png", UriKind.Relative);

   tileData.WideBackContent = "switch to windows phone, we've got candy";
   tileData.WideBackgroundImage = new Uri("Assets/wideTileBackground.png", UriKind.Relative);
   tileData.WideBackBackgroundImage = new Uri("Assets/wideTileBackBackground.png", UriKind.Relative);

   tile.Update(tileData);
}

问题是Codeplex上没有包含任何文档,所以我不知道在哪里插入此代码(即哪个函数)来将tile大小从normal更改为wide。

3 个答案:

答案 0 :(得分:1)

在Windows Phone 7中创建Wide Tile的另一种方法。测试它并且它可以工作。 看看这个。

http://www.supersmithbros.com/index.php/latest-news/93-how-to-create-a-wp8-wide-tile-in-wp7-xna

答案 1 :(得分:0)

您可以在任意位置调用它,并且没有代码可以在用户屏幕上更改磁贴,因为它是不允许的。

答案 2 :(得分:0)

如果您look in the source code,则在您提供的MangoPollo链接中,示例代码会将切片代码置于按钮单击事件中。那么我在你的应用程序中做的是设置这个新磁贴(设置页面,可能?)的选项,当用户打开此设置时,您将在该事件处理程序中运行代码。

这样,代码不会不必要地执行多次(如果它在页面的构造函数或app.xaml.cs中那样)。

希望这有帮助!

修改

根据你的评论,也许你可以把它放在你的第一页的构造函数中。或许,为了防止代码执行超出必要的程度,您可以检查现有的tile以查看它是否已经有WideBackgroundImage,如果没有,则设置它并调用{ {1}}否则只是继续。