日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows Phone 7 页面的数值传递和对象传递

發布時間:2025/3/21 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows Phone 7 页面的数值传递和对象传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Winodws Phone 7頁面傳遞參數的方法:

1 .使用HyperlinkButton的NavigateUri屬性,直接將傳遞的參數添加在NavigateUri的屬性中。例如

<HyperlinkButton Content="音樂" Height="30" HorizontalAlignment="Left" Margin="68,65,0,0" Name="MusicshyperlinkButton" VerticalAlignment="Top" Width="200" NavigateUri="Musics?SongName=愛你一萬年"/>

解釋說明:?NavigateUri="Musics?SongName=愛你一萬年" 表示導航到一個別名為Musics的頁面,并將一個參數SongName傳遞給導航的頁面,SongName的值等于愛你一萬年(如果要傳遞參數,需要使用?符號表示后面是要傳遞的參數)。

上面的是將數據傳到另一個頁面,下面是在導航到的頁面取得該數據,取得數據的方法可以通過調用NavigationContext的QueryString屬性來獲得。具體代碼如下:

txt_SongName.Text = NavigationContext.QueryString["SongName"];

上面的代碼表示獲取變量名為SongName的參數值,并賦給一個textBox。這樣便是實現了頁面間傳遞數據,這是方式一。

?

2.使用Button控件導航,調用? NavigationService可以實現傳遞參數。例如:

NavigationService.Navigate(new Uri("Musics?SongName=愛你一萬年&SongAuthor=劉德華", UriKind.Relative));

代碼解釋:紅色部分表示兩個傳遞的兩個變量SongName,SongAuthor。并分別進行了賦值,UriKind.Relative表示導航頁面的路徑是相對路徑。

傳遞參數成功之后便可以通過方法一的方式取得參數傳遞的值。(如果需要傳遞多個參數需要使用?&?將每個參數連接在一起)。

3.修改<Application.Resources>.....</Application.Resources>中的代碼實現別名傳遞數據。

?

<nav:UriMapper x:Key="UriMapper"> <nav:UriMapping Uri="Musics" MappedUri="/Views/MusicsPage.xaml"/> </nav:UriMapper>

?

以上是不需要傳遞數據時的代碼,如果要傳遞數據可以按照以下方式修改:

<nav:UriMapper x:Key="UriMapper"> <nav:UriMapping Uri="Musics/{song}" MappedUri="/Views/MusicsPage.xaml?SongName={song}"/> </nav:UriMapper>

注意Musics/{song}中的{ }內容和SongName={song}中的{ }里面的內容要完全相同。

上面的代碼的意思是聲明了一個名為SongName的變量,{ }的內容可以隨意命名。

如果要傳遞多個參數可以這樣修改:

<nav:UriMapping Uri="Musics/{song}&amp;{author}" MappedUri="/Views/MusicsPage.xaml?SongName={song}&amp;SongAuthor={author}"/>

如果參數更多,依次添加變量即可。

下面是 賦值過程。

<HyperlinkButton Content="音樂" Height="30" HorizontalAlignment="Left" Margin="68,65,0,0" Name="MusicshyperlinkButton" VerticalAlignment="Top" Width="200" NavigateUri="Musics/愛你一萬年"/>

代碼說明:NavigateUri="Musics/歌曲",Musics/后面即使要傳遞的參數值,即相當于:SongName=愛你一萬年,之后便可以對其取值。取值方式和之前一樣。

二、Windows Phone 7傳遞對象的方法。

NavigationService不能傳遞對象,它只能傳遞字符串類型的數據。

所以以上傳遞數值的方法不可以用來傳遞對象。

那么實現的方法是什么呢?可以使用App類的靜態屬性或者使用Singleton類。

下面是使用App靜態類屬性傳遞對象的方法過程。

首先添加一個類,MusicInformation,這個類包含兩個屬性:

?

public class MusicInformation { //自動添加get,set方法 public string SongName { get; set ; }//歌曲名 public string SongAuthor { get; set; }//歌曲作者 }

?

添加完成后我們需要在App.xaml.cs中聲明這個類(MusicInformation)的變量:

public static MusicInformation musciinfor { get; set; }//定義MusicInformation類型的變量

聲明之后便可以調用這個靜態屬性,并對SongName?和SongAuthor?賦值。賦值過程可以在導航頁面的響應事件中完成,例如Button_Click中。

private void btn_Music_Click(object sender, RoutedEventArgs e) { App.musciinfor=new MusicInformation { SongName="愛你一萬年.mp3", SongAuthor="劉德華" };//C#新的寫法,可以不通過構造函數,直接對變量賦值 NavigationService.Navigate(new Uri("Musics", UriKind.Relative));//導航到別名為Musics的頁面。 }

導航到頁面之后可以在別名為Musics的頁面的Loaded事件中讀取傳遞的對象數據。

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { if (App.musciinfor != null)//判斷傳遞的對象數據是否為空,若不為空則進行賦值 { txt_Authory.Text = App.musciinfor.SongAuthor; txt_SongName.Text = App.musciinfor.SongName; } }

這樣便實現了對象的數據傳遞。

?

轉載于:https://blog.51cto.com/potential/1402576

總結

以上是生活随笔為你收集整理的Windows Phone 7 页面的数值传递和对象传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。