2010年12月24日

WP7 – Navigation & Pass the Parameters

要巡覽各個 WP7 中的 Silverlight 頁面,只需要 Navigate 的方法再加上一個瀏覽位置就可以。
NavigationService.Navigate(new Uri("/SavePerview.xaml", UriKind.Relative));
如果需要在各個位置傳遞參數就可以有很多方法。
第一個方法,你可以利用網址傳遞傳數的方式,在要傳遞的網址後加個 ? 後面就可以加上你要的參數及值,如果是多個參數,可以利用 & 當作分隔。
NavigationService.Navigate(new Uri("/MainPage.xaml?Action=Clear&Sample=SampleValue", UriKind.Relative));
第二個方法你可以在 App.xml.cs 中加上一個屬性用來暫存資料。
public Person Person { get; set; }
因為 App 就是整個應用程式,所以可以用如下的方法取得。
return ((App)Application.Current).Person;
第三種方法我覺得應該是最方便也最好使用的方法,蠻像 .Net 中的 Session,感覺很親切啊!
//存資料
PhoneApplicationService.Current.State[shelf] = goods;
//取資料
return PhoneApplicationService.Current.State[shelf];
寫了一個範例程式如下,其中包含一個簡單的 IValueConverter 實作及 DataBind 的做法。


參考:
Programing Windows Phone 7 By Charles Petzold

沒有留言:

張貼留言