偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Windows Phone開(kāi)發(fā)(8):關(guān)于導(dǎo)航的小技巧

移動(dòng)開(kāi)發(fā)
Windows Phone是微軟發(fā)布的一款手機(jī)操作系統(tǒng),它將微軟旗下的Xbox Live游戲、Xbox Music音樂(lè)與獨(dú)特的視頻體驗(yàn)整合至手機(jī)中。

一、到底該不該設(shè)置“后退”操作?

因?yàn)槭謾C(jī)的硬件層就有一個(gè)“回退”按鈕,按理說(shuō)我們不需要在程序中再添加什么回退按鈕之類(lèi)的,不過(guò),還是有必要看看如何手動(dòng)加入回退功能。

1、新建一個(gè)WP應(yīng)用項(xiàng)目。

2、除默認(rèn)的主頁(yè)外,新建一個(gè)頁(yè)面Page2.xaml。

3、在主頁(yè)上放一個(gè)按鈕,編寫(xiě)Click事件處理代碼,導(dǎo)航到Page2。

  1. private void button1_Click(object sender, RoutedEventArgs e) 
  2.     this.NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); 

4、在Page2也放一個(gè)按鈕,并編寫(xiě)單擊事件處理代碼。4、在Page2也放一個(gè)按鈕,并編寫(xiě)單擊事件處理代碼。4、在Page2也放一個(gè)按鈕,并編寫(xiě)單擊事件處理代碼。

  1. private void button1_Click(object sender, RoutedEventArgs e) 
  2.     this.NavigationService.GoBack(); 

5、現(xiàn)在,你可以欣賞你的程序了。

 

二、如何屏蔽掉“回退”按鈕?

這種情況下不多見(jiàn),屏蔽掉回退按鈕意味著無(wú)法通過(guò)按下“回退”進(jìn)行向后導(dǎo)航,這個(gè)做法要慎用。
要完成該操作,就得處理BackKeyPress事件,把事件參數(shù)e的Cancel屬性設(shè)置為true即可取消“回退”鍵的操作。

  1. this.BackKeyPress += (sender, e) => 
  2.     { 
  3.         e.Cancel = true
  4.     }; 

三、如何刪除導(dǎo)航歷史記錄?

比如說(shuō),我現(xiàn)在從主頁(yè)導(dǎo)航到頁(yè)面B,再?gòu)捻?yè)面B導(dǎo)航到頁(yè)面C,但我不希望用戶(hù)導(dǎo)航回頁(yè)面B,而是直接導(dǎo)航回主頁(yè)。

準(zhǔn)備三個(gè)頁(yè)面做測(cè)試,從主頁(yè)導(dǎo)航到B,從B導(dǎo)航到C,應(yīng)該沒(méi)問(wèn)題了,不用我再重復(fù)。

然后,因?yàn)楝F(xiàn)在我們要在導(dǎo)航的回退歷史記錄中刪除頁(yè)面B,所以,我們?cè)陔x開(kāi)頁(yè)面B后把歷史記錄刪除。也就是說(shuō),在頁(yè)面B中重寫(xiě)OnNavigatedFrom方法。

  1. protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
  2.     base.OnNavigatedFrom(e); 
  3.     PhoneApplicationFrame myFrame = Application.Current.RootVisual as PhoneApplicationFrame; 
  4.     if (myFrame != null
  5.     { 
  6.         try 
  7.         { 
  8.             myFrame.RemoveBackEntry(); 
  9.         } 
  10.         catch (InvalidOperationException ex) 
  11.         { 
  12.             MessageBox.Show(ex.Message); 
  13.         } 
  14.     } 

從例子中看到,使用PhoneApplicationFrame類(lèi)的RemoveBackEntry方法刪除最新一條記錄,每次只刪除一條,要?jiǎng)h除 多條,就調(diào)用N次。因?yàn)閷?dǎo)航歷史記錄是棧結(jié)構(gòu)的,后進(jìn)先出,所以,就像你拿一堆書(shū)放在桌面上一樣,首先拿掉的是放在最上面的,如下圖所示:從例子中看到, 使用PhoneApplicationFrame類(lèi)的RemoveBackEntry方法刪除最新一條記錄,每次只刪除一條,要?jiǎng)h除多條,就調(diào)用N次。因 為導(dǎo)航歷史記錄是棧結(jié)構(gòu)的,后進(jìn)先出,所以,就像你拿一堆書(shū)放在桌面上一樣,首先拿掉的是放在最上面的,如下圖所示:

責(zé)任編輯:閆佳明 來(lái)源: oschina
相關(guān)推薦

2012-08-16 10:35:50

Windows Pho

2015-07-30 14:43:04

導(dǎo)航欄iOS開(kāi)發(fā)

2013-04-17 10:54:18

Windows PhoWindows Pho

2013-07-31 13:36:07

Windows PhoVS調(diào)試技巧Windows Pho

2013-02-20 15:59:50

Windows 8

2012-06-07 09:33:13

Windows Pho

2012-06-25 16:14:26

Windows Pho

2014-08-26 10:01:18

Windows Pho平臺(tái)開(kāi)發(fā)指南

2013-04-09 12:59:21

WindowsPhon

2013-07-30 12:37:56

Windows PhoWindows Pho

2010-04-21 17:07:54

Windows Pho

2012-03-16 21:25:14

Windows Pho

2010-11-01 14:49:20

Windows PhoWindows Pho

2012-02-06 09:16:14

Windows PhoWindows Pho

2013-01-28 14:59:27

2013-04-17 14:00:06

Windows PhoWindows Pho

2011-06-07 12:42:15

Windows Pho

2013-04-16 17:02:50

Windows Pho概論

2013-04-19 16:34:56

Windows PhoWindows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)