WindowsPhone 7.8 Tiles 3 : 7.8的Tiles利器mangopollo
mangopollo:http://mangopollo.codeplex.com/
利用mangopollo可以讓我們在7.8方便的創建live tiles…
Mangopollo?will allow you to easily take advantage of new windows phone tiles (cyclic, flip, iconic) if your application is run from a Windows Phone 7.8 or 8 as well as new launchers if your application is run from a Windows Phone 8 while remaining compatible with windows phone 7.
安裝mangopollo可以通過nuget
PM> Install-Package Mangopollo
?
還是來看使用效果吧
首先是判斷:
//判斷是否wp8private void TestIfWP8_Click(object sender, RoutedEventArgs e){if (Utils.IsWP8){MessageBox.Show("It's a Windows Phone 8 !");}else{MessageBox.Show("It's a Windows Phone 7 !");}}?
//判斷是否支持新的Tiles private void TestIfWP78_Click(object sender, RoutedEventArgs e) { if (Utils.CanUseLiveTiles) { MessageBox.Show("It's a Windows Phone 7.8 or sup !"); } else { MessageBox.Show("It's a Windows Phone 7 !"); } }?
創建CycleTile:
private void CreateCycleTile_Click(object sender, RoutedEventArgs e){if (!Utils.CanUseLiveTiles){MessageBox.Show("This feature needs Windows Phone 8");return;}try{var mytile = new CycleTileData{Title = "cyclic tile",Count = 42,SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative),CycleImages = new List<Uri> {new Uri("/Assets/Image1.png", UriKind.Relative), new Uri("/Assets/Image2.png", UriKind.Relative), new Uri("/Assets/Image3.png", UriKind.Relative)}};#if ALTERNATIVE_SOLUTIONvar mytile = Mangopollo.Tiles.TilesCreator.CreateCyclicTile("cyclic tile", 42, new Uri("/Assets/logo159x159.png", UriKind.Relative), new List<Uri>() { new Uri("/Assets/Image1.png", UriKind.Relative), new Uri("/Assets/Image2.png", UriKind.Relative), new Uri("/Assets/Image3.png", UriKind.Relative) }); #endifShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20cycle%20tile", UriKind.Relative), mytile, false);}catch{MessageBox.Show("remove tile before create it again");}}private void CreateCycleTileWide_Click(object sender, RoutedEventArgs e){if (!Utils.CanUseLiveTiles){MessageBox.Show("This feature needs Windows Phone 8");return;}try{var mytile = new CycleTileData{Title = "cyclic wide tile",Count = 42,SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative),CycleImages = new List<Uri> {new Uri("/Assets/Image1.png", UriKind.Relative), new Uri("/Assets/Image2.png", UriKind.Relative), new Uri("/Assets/Image3.png", UriKind.Relative)}};#if ALTERNATIVE_SOLUTIONvar mytile = Mangopollo.Tiles.TilesCreator.CreateCyclicTile("cyclic wide tile", 42, new Uri("/Assets/logo159x159.png", UriKind.Relative), new List<Uri>() { new Uri("/Assets/Image1.png", UriKind.Relative), new Uri("/Assets/Image2.png", UriKind.Relative), new Uri("/Assets/Image3.png", UriKind.Relative) }); #endifShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20wide%20cycle%20tile", UriKind.Relative), mytile, true);}catch{MessageBox.Show("remove tile before create it again");}} ? 效果:?
?
創建IconicTile:
private void CreateIconicTile_Click(object sender, RoutedEventArgs e) { if (!Utils.CanUseLiveTiles) { MessageBox.Show("This feature needs Windows Phone 8"); return; } ? try { var mytile = new IconicTileData { Title = "iconic tile", Count = 8, BackgroundColor = Colors.Purple, IconImage = new Uri("/Assets/logo202x202.png", UriKind.Relative), SmallIconImage = new Uri("/Assets/logo110x110.png", UriKind.Relative) }; ? #if ALTERNATIVE_SOLUTION var mytile = Mangopollo.Tiles.TilesCreator.CreateIconicTile("iconic tile", 8, Colors.Purple, new Uri("/Assets/logo202x202.png", UriKind.Relative), new Uri("/Assets/logo110x110.png", UriKind.Relative)); #endif ? ShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20iconic%20tile", UriKind.Relative), mytile, false); } catch { MessageBox.Show("remove tile before create it again"); } } ? ? private void CreateIconicTileWide_Click(object sender, RoutedEventArgs e) { if (!Utils.CanUseLiveTiles) { MessageBox.Show("This feature needs Windows Phone 8"); return; } ? try { var mytile = new IconicTileData { Title = "iconic tile", Count = 8, BackgroundColor = Color.FromArgb(255, 200, 10, 30), IconImage = new Uri("/Assets/logo202x202.png", UriKind.Relative), SmallIconImage = new Uri("/Assets/logo110x110.png", UriKind.Relative), WideContent1 = "Mangopollo Library", WideContent2 = "use Windows Phone 8 features", WideContent3 = "on Windows Phone 7 apps" }; ? #if ALTERNATIVE_SOLUTION var mytile = Mangopollo.Tiles.TilesCreator.CreateIconicTile("iconic wide tile", 8, Colors.Gray, new Uri("/Assets/logo202x202.png", UriKind.Relative), new Uri("/Assets/logo110x110.png", UriKind.Relative), "Mangopollo Library", "created by", "Rudy Huyn"); #endif ShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20wide%20iconic%20tile", UriKind.Relative), mytile, true); } catch { MessageBox.Show("remove tile before create it again"); } }效果:
?
創建FlipTile:
private void CreateFlipTile_Click(object sender, RoutedEventArgs e) { if (!Utils.CanUseLiveTiles) { MessageBox.Show("This feature needs Windows Phone 8"); return; } ? try { var mytile = new FlipTileData { Title = "wide flip tile", BackTitle = "created by", BackContent = "Rudy Huyn", Count = 9, SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative), BackgroundImage = new Uri("/Assets/Background336x336_1.png", UriKind.Relative), BackBackgroundImage = new Uri("/Assets/Background336x336_2.png", UriKind.Relative) }; ? ? #if ALTERNATIVE_SOLUTION var mytile = Mangopollo.Tiles.TilesCreator.CreateFlipTile("wide flip tile", "created by", "Rudy Huyn", 9, new Uri("/Assets/logo159x159.png", UriKind.Relative), new Uri("/Assets/Background336x336_1.png", UriKind.Relative), new Uri("/Assets/Background336x336_2.png", UriKind.Relative)); #endif ShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20flip%20tile", UriKind.Relative), mytile, false); } catch { MessageBox.Show("remove tile before create it again"); } } ? private void CreateFlipTileWide_Click(object sender, RoutedEventArgs e) { if (!Utils.CanUseLiveTiles) { MessageBox.Show("This feature needs Windows Phone 8"); return; } ? try { var mytile = new FlipTileData { Title = "wide flip tile", BackTitle = "created by", BackContent = "Rudy Huyn", Count = 9, SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative), BackgroundImage = new Uri("/Assets/Background336x336_1.png", UriKind.Relative), BackBackgroundImage = new Uri("/Assets/Background336x336_2.png", UriKind.Relative), WideBackContent = "This is a very long long text to demonstrate the back content of a wide flip tile", WideBackgroundImage = new Uri("/Assets/Background691x336_1.png", UriKind.Relative), WideBackBackgroundImage = new Uri("/Assets/Background691x336_2.png", UriKind.Relative) }; ? #if ALTERNATIVE_SOLUTION var mytile = Mangopollo.Tiles.TilesCreator.CreateFlipTile("flip tile", "created by", "Rudy Huyn", "This is a very long long text to demonstrate the back content of a wide flip tile", 9, new Uri("/Assets/logo159x159.png", UriKind.Relative), new Uri("/Assets/Background336x336_1.png", UriKind.Relative), new Uri("/Assets/Background336x336_2.png", UriKind.Relative), new Uri("/Assets/Background691x336_1.png", UriKind.Relative), new Uri("/Assets/Background691x336_2.png", UriKind.Relative)); #endif ShellTileExt.Create(new Uri("/MainPage.xaml?msg=from%20wipe%20flip%20tile", UriKind.Relative), mytile, true); } catch { MessageBox.Show("remove tile before create it again"); } }?
效果:
?
更新主Tile:
private void UpdateMainTile_Click(object sender, RoutedEventArgs e) { if (!Utils.CanUseLiveTiles) { MessageBox.Show("This feature needs Windows Phone 8"); return; } ? var maintile = new FlipTileData { Title = "main tile", BackTitle = "this is", BackContent = "main tile", Count = 3, SmallBackgroundImage = new Uri("/Assets/logo159x159.png", UriKind.Relative), BackgroundImage = new Uri("/Assets/Background336x336_2.png", UriKind.Relative), BackBackgroundImage = new Uri("/Assets/Background336x336_1.png", UriKind.Relative), WideBackContent = "This is a very long long text to demonstrate the back content of a wide flip tile", WideBackgroundImage = new Uri("/Assets/Background691x336_2.png", UriKind.Relative), WideBackBackgroundImage = new Uri("/Assets/Background691x336_1.png", UriKind.Relative) }; ? #if ALTERNATIVE_SOLUTION var maintile = Mangopollo.Tiles.TilesCreator.CreateFlipTile("main tile", "This is", "main tile", "This is a very long long text to demonstrate the back content of a wide flip tile", 9, new Uri("/Assets/logo159x159.png", UriKind.Relative), new Uri("/Assets/Background336x336_1.png", UriKind.Relative), new Uri("/Assets/Background336x336_2.png", UriKind.Relative), new Uri("/Assets/Background691x336_1.png", UriKind.Relative), new Uri("/Assets/Background691x336_2.png", UriKind.Relative)); #endif ShellTile.ActiveTiles.First().Update(maintile); }?
效果:
?
?
?本文轉自 sun8134 博客園博客,原文鏈接:?http://www.cnblogs.com/sun8134/archive/2013/02/10/2909865.html? ,如需轉載請自行聯系原作者
http://www.cnblogs.com/sun8134/archive/2013/02/10/2909865.html
總結
以上是生活随笔為你收集整理的WindowsPhone 7.8 Tiles 3 : 7.8的Tiles利器mangopollo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非关系型数据库mongodb的打开与连接
- 下一篇: Linux学习之用户管理和组管理