自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows Phone開發(fā)(7):當(dāng)好總舵主

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

吹完了頁面有關(guān)的話題,今天我們來聊一下頁面之間是如何導(dǎo)航的,在更多情況下,我們的應(yīng)用程序不會只有一個頁面的,應(yīng)該會有N個,就像我們做桌面應(yīng) 用開發(fā)那樣,我們一個應(yīng)用程序中可能不止一個窗體(極簡單的程序除外),我們要處理窗體之間的切換;同理地,在進行Web開發(fā)的時候,我們的Web應(yīng)用程 序可能也不止一個頁面,我們要處理頁面之間的切換。當(dāng)然了,在我們的手機應(yīng)用中,同樣需要這種操作,我們稱之為“導(dǎo)航”,作為開發(fā)者,我們?nèi)P操控頁面之 間的切換,所以說,我們也當(dāng)了App的“總舵主”。

 

一、如何進行導(dǎo)航。

進行頁面導(dǎo)航的一種簡單方法就是使用HyperlinkButton控件的NavigateUri屬性來指定要導(dǎo)航的目標(biāo)頁面的XAML文件的URI,下面通過一個簡單的例子來試試吧。

新建一個WP應(yīng)用項目,在主頁面中放一個HyperlinkButton控件,把NavigateUri的值設(shè)為 /pageSecond.xaml,接著新建一個頁面,命名為pageSecond.xaml。

  1. <HyperlinkButton Content="跳到頁面二" Height="78" HorizontalAlignment="Left" Margin="126,86,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="216" FontSize="32" FontStyle="Normal" FontStretch="Normal" 
  2.                   NavigateUri="/pageSecond.xaml"/> 

第二種導(dǎo)航方法是通過代碼方式實現(xiàn),如按鈕的單擊事件。

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

二、OnNavigatedFrom 方法和OnNavigatedTo 方法。

1、當(dāng)用戶即將離開當(dāng)前頁時,將調(diào)用OnNavigatedFrom 方法;
2、當(dāng)用戶從其它頁面導(dǎo)航到該頁面時調(diào)用OnNavigatedTo 方法。
 
相信大家多寫一些代碼測試一下,這個就很好理解了。
A、在主頁面中添加以下代碼。
  1. // 離開主頁面 
  2. protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
  3.     base.OnNavigatedFrom(e); 
  4.  
  5.     System.Diagnostics.Debug.WriteLine("***** 已離開主頁面。"); 

B、在第二個頁面中添加以下代碼。

  1. // 導(dǎo)航到第二個頁面 
  2. protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
  3.     base.OnNavigatedTo(e); 
  4.  
  5.     System.Diagnostics.Debug.WriteLine("*****  Hi,已經(jīng)來到第二個頁面了。"); 

然后,你運行程序?qū)Ш揭幌?,看?ldquo;輸出”窗口里面有什么?

三、如何在頁面間傳遞參數(shù)。

在安卓開發(fā)中,從一個Activity到另外一個Activity,需要Intent對象傳遞內(nèi)容,不過,在WP開發(fā)中,我們只需要像WEB頁面那樣在URI在附加上參數(shù)即可。

如:/Numbb.xaml?pt1=aaaa&pt2=ccccc。

 

現(xiàn)在,我們把剛才的例子改一下,在主頁面上隨便放一個TextBox,我們要把這個頁面中輸入的內(nèi)容傳遞到第二個頁面中。

  1. private void button1_Click(object sender, RoutedEventArgs e) 
  2.  { 
  3.      this.NavigationService.Navigate(new Uri("/pageSecond.xaml?str=" + textBox1.Text, UriKind.Relative)); 
  4.  } 

在第二個頁面中取出數(shù)據(jù)。在第二個頁面中取出數(shù)據(jù)。

  1. // 導(dǎo)航到第二個頁面 
  2. protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
  3.     base.OnNavigatedTo(e); 
  4.     // 傳遞的參數(shù)叫什么名字,這里就按什么名字來取。 
  5.     string pv = this.NavigationContext.QueryString["str"]; 
  6.     this.textBlock1.Text = pv; 

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

2009-08-06 16:25:28

云計算總舵主

2013-07-30 11:18:37

Windows PhoWindows Pho

2011-06-07 11:35:38

Windows Pho

2012-08-16 10:35:50

Windows Pho

2010-12-14 18:48:49

微軟

2010-04-08 17:40:23

Windows Pho

2010-03-09 10:51:15

Windows Pho

2010-08-13 08:21:11

Windows Pho

2010-07-21 14:42:15

Windows Pho

2011-03-30 11:21:41

Windows Pho開發(fā)大賽

2010-08-10 13:21:41

Windows PhoWindows Pho

2010-12-21 10:02:48

SilverlightWindows Pho

2010-12-16 10:06:31

Windows Pho

2012-06-13 13:01:57

Windows Pho

2012-08-02 10:16:39

Windows Pho

2010-11-03 15:10:04

SilverlightSilverlightWindows Pho

2012-06-25 16:14:26

Windows Pho

2010-08-16 09:21:35

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-06-11 13:08:10

Windows Pho
點贊
收藏

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