WP 7 為應用程式設定為瓦片.
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Microsoft.Phone.Controls;using Microsoft.Phone.Shell;namespace WPTileSample{ public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); } private static readonly string SecondaryTileUriSource = "Source=SeconaryTile"; protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); //尋找當前是否是瓦片 ShellTile secondaryTile = this.FindTile(SecondaryTileUriSource); this.cbShowTile.IsChecked = secondaryTile != null; } /// <summary> /// 尋找當前名稱是否在瓦片中 /// </summary> /// <param name="partOfUri"></param> /// <returns></returns> private ShellTile FindTile(string partOfUri) { //當前應該程式是不是瓦片 ShellTile shellTile = ShellTile.ActiveTiles.FirstOrDefault( tile => tile.NavigationUri.ToString().Contains(partOfUri)); return shellTile; } private void cbShowTile_Checked(object sender, RoutedEventArgs e) { // secondary tiles can be created only as the result // of user input in an application ShellTile tile = this.FindTile(SecondaryTileUriSource); if (tile == null) { // because the UI will navigate to Start // when a new secondary tile is created // only one secondary tile can be created at a time StandardTileData tileData = this.GetSecondaryTileData(); // having a unique NavigationUri is necessary for distinguishing this tile string tileUri = string.Concat("/MainPage.xaml?", SecondaryTileUriSource); ShellTile.Create(new Uri(tileUri, UriKind.Relative), tileData); } } //刪除瓦片 private void cbShowTile_Unchecked(object sender, RoutedEventArgs e) { ShellTile tile = this.FindTile(SecondaryTileUriSource); if (tile != null) { tile.Delete(); MessageBox.Show("Secondary tile deleted."); } } /// <summary> /// 設定瓦片 /// </summary> /// <returns></returns> private StandardTileData GetSecondaryTileData() { StandardTileData tileData = new StandardTileData { Title = "Secondary Tile", BackgroundImage = new Uri("/Images/logo.png", UriKind.Relative), Count = 5, BackTitle = "Secondary Tile", BackBackgroundImage = new Uri("", UriKind.Relative), BackContent = "WPG Add Remove Tile Sample" }; return tileData; } }}