我有一个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。
答案 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}}否则只是继续。