From e5bde7a95bded8b5d09343dd2ed17916bfff7d77 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 16 Sep 2013 16:32:39 +0200 Subject: [PATCH] add TileCreator --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 1 + .../CampusAppWP8/Pages/StartPage.xaml | 19 +++++++- .../CampusAppWP8/Pages/StartPage.xaml.cs | 29 ++++++++++++ .../Utility/Lui/Tiles/TileCreator.cs | 46 +++++++++++++++++++ 4 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 CampusAppWP8/CampusAppWP8/Utility/Lui/Tiles/TileCreator.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 7fab7caa..f9b3930d 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -146,6 +146,7 @@ ShowPad.xaml + diff --git a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml index 2502caf2..baeefd07 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml @@ -7,6 +7,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:lui="clr-namespace:CampusAppWP8.Utility.Lui.Button" + xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" @@ -94,7 +95,7 @@ - + @@ -112,6 +113,15 @@ + + + + + + + + + @@ -120,6 +130,13 @@ + + + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs index 3bd7cdc6..3313910f 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs @@ -8,6 +8,7 @@ namespace CampusAppWP8.Pages { using System; + using System.Linq; using System.Threading; using System.Windows; using System.Windows.Controls; @@ -19,6 +20,7 @@ namespace CampusAppWP8.Pages using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using CampusAppWP8.File.Places; + using CampusAppWP8.Utility.Lui.Tiles; /// /// Class for the StartPage @@ -278,6 +280,33 @@ namespace CampusAppWP8.Pages #endregion + private void PintoStart_Click(object sender, RoutedEventArgs e) + { + TileCreator.CreateMensaTile(); + } + + private void PintoStart_Click2(object sender, RoutedEventArgs e) + { + IconicTileData oIcontile = new IconicTileData(); + oIcontile.Title = "WebmailPage"; + + oIcontile.IconImage = new Uri(Icons.Mensa, UriKind.Relative); + oIcontile.SmallIconImage = new Uri(Icons.Mensa, UriKind.Relative); + + // find the tile object for the application tile that using "Iconic" contains string in it. + ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("WebmailPage".ToString())); + + if (TileToFind != null && TileToFind.NavigationUri.ToString().Contains("WebmailPage")) + { + TileToFind.Delete(); + ShellTile.Create(new Uri(Constants.PathMail_WebMailPage, UriKind.Relative), oIcontile, true); + } + else + { + ShellTile.Create(new Uri(Constants.PathMail_WebMailPage, UriKind.Relative), oIcontile, true); + } + } + #endregion } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Lui/Tiles/TileCreator.cs b/CampusAppWP8/CampusAppWP8/Utility/Lui/Tiles/TileCreator.cs new file mode 100644 index 00000000..6a783363 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Utility/Lui/Tiles/TileCreator.cs @@ -0,0 +1,46 @@ +using CampusAppWP8.Resources; +using Microsoft.Phone.Shell; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Utility.Lui.Tiles +{ + public class TileCreator + { + public static void CreateIconicTile(string title, string path, string iconUrl, string smallIcon, string wContent1 = null, string wContent2 = null, string wContent3 = null) + { + + IconicTileData oIcontile = new IconicTileData(); + oIcontile.Title = title; + oIcontile.WideContent1 = wContent1; + oIcontile.WideContent2 = wContent2; + oIcontile.WideContent3 = wContent3; + + oIcontile.IconImage = new Uri(iconUrl, UriKind.Relative); + oIcontile.SmallIconImage = new Uri(smallIcon, UriKind.Relative); + + // find the tile object for the application tile that using "Iconic" contains string in it. + ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(path)); + + if (TileToFind != null && TileToFind.NavigationUri.ToString().Contains(path)) + { + TileToFind.Delete(); + } + + ShellTile.Create(new Uri(path, UriKind.Relative), oIcontile, true); + } + + public static void CreateMensaTile() + { + TileCreator.CreateIconicTile(AppResources.MensaApp_Title, Constants.PathMensa_MensaPage, Icons.Mensa, Icons.Mensa); + } + + public static void CreateWebMailTile() + { + TileCreator.CreateIconicTile(AppResources.MensaApp_Title, Constants.PathMensa_MensaPage, Icons.Mensa, Icons.Mensa); + } + } +}