[Windows Phone]動態磚FlipTile的使用及所帶參數之提取。
這裡簡單介紹FlipTile動態磚的使用跟回傳參數的取得。
1.先在「MainPage.xml」建立一個「Button」跟「TextBox」。
「Button」是觸發建立Tile的按鈕。「TextBox」是動態磚傳給程式的參數顯示。
2.
這邊先寫
1: ShellTile FindTile = ShellTile.ActiveTiles.FirstOrDefault((t) =>
2: t.NavigationUri.ToString().Equals("/MainPage.xaml?number=99"));
此行是找尋此磚是否存在,不同參數的磚不會影響到。
此行的參數是「number」帶「99」。
3.判斷找尋的磚是否存在。若有存在就更新此磚;若沒有就新增。
1: if (FindTile == null)
2: {
3: FlipTileData fTile = new FlipTileData()
4: {
5: Title = "Flip",
6: BackTitle = "Test",
7: BackContent = "FlipTest",
8: Count = 1
9: };
10: ShellTile.Create(new Uri("/MainPage.xaml?number=99", UriKind.Relative), fTile, true);
11: }
12: else
13: {
14: FlipTileData fTile = new FlipTileData()
15: {
16: Title = "Flip",
17: BackTitle = "Test",
18: BackContent = "FlipTest",
19: Count = 2,
20: };
21: FindTile.Update(fTile);
22: }
其中,Count若為「0 」的話,Tiles左上數字將不會顯示。
最後,只要打「ShellTile.Create(new Uri("/MainPage.xaml?number=99", UriKind.Relative), fTile, true);」就可以創造動態磚了!
若打「FindTile.Update(fTile)」就可以更新剛剛所搜尋到的FlipTile了。
4.接下來要尋找並輸出按下動態磚所傳回的參數。
需要在「OnNavigatedTo」中打入程式,其說明是「在頁面變成框架中的使用中頁面時呼叫」。
之後需要加入判斷,若沒有加入判斷,只要程式一執行時就會進入「OnNavigatedTo」,但是只有在按下動態磚時才使用「OnNavigatedTo」。
1: if (NavigationContext.QueryString.ContainsKey("number"))
2: {
3: textbox.Text = this.NavigationContext.QueryString["number"];
4: }
需要使用「ContainsKey()」,來判斷是否有所需要的值。
之後,在使用「QueryString[]」來擷取參數。
結果:
第一次建立FlipTile |
按下FlipTile傳回參數 |
更新FlipTile |
Reference
Windows Phone 8 – Tiles大進化
若有觀念錯誤、內容錯誤,勞請告知。 謝謝。
若要轉載請註明出處,謝謝。