internal enum Operation { Add, Remove } public partial class MainPage : PhoneApplicationPage { private void LiveTile(Operation operation) { const string TITLE = "LiveTile"; ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("TuoParametro=" + TITLE)); switch (operation) { //Aggiungo/Aggiorno LiveTile case Operation.Add: StandardTileData liveTile = new StandardTileData { Title = TITLE, BackgroundImage = new Uri("Background.png", UriKind.RelativeOrAbsolute), BackBackgroundImage = new Uri("BackBackground.png", UriKind.RelativeOrAbsolute), Count = 0, BackTitle = "LiveTile 1.0", BackContent = "Esempio LiveTile", }; if (tile == null) { //LiveTile non esistente -> Aggiugno a start try { ShellTile.Create(new Uri("/MainoPage.xaml?TuoParametro=" + liveTile.Title, UriKind.Relative), liveTile); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { //LiveTile esistente -> Aggiorno tile.Update(liveTile); } break; //Rimuovo LiveTile case Operation.Remove: if (tile != null) { //LiveTile esistente -> Rimuovo try { tile.Delete(); MessageBox.Show("LiveTile rimossa correttamente"); } catch (Exception ex) { MessageBox.Show(ex.Message); ; } } break; } } public MainPage() { InitializeComponent(); } private void btnAggiungi_Click(object sender, RoutedEventArgs e) { LiveTile(Operation.Add); } private void btnRimuovi_Click(object sender, RoutedEventArgs e) { LiveTile(Operation.Remove); } } |
NB: Per le due immagini (Background.png e BackBackground.png) settare la proprietà Operazione di compilazione come Contenuto
Nessun commento:
Posta un commento