2011年8月25日 星期四

NavigationService.Navigate self

在 Windows Phone 上要開啟某個 PhoneApplicationPage 時,
常常會使用 NavigationService.Navigate 方法…
但一個 PhoneApplicationPage 可以 Navigate 自己嗎?

實際上使用似乎沒辦法單純的 Navigate 自己…例如…


public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
        InitializeUI();
        DataContext = MainPageModel;
    }

    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
    }
}


這樣子執行到 Navigate 那行的時後是一點反應也不會有的…
不僅如此…在 Page_Loaded、OnNavigatedTo 也都不會收到事件通知…
但我們又很常必須重覆利用一個 ApplicationPage 顯示多層的資訊該如何作呢?
測試後發現後面串上和目前頁面不一樣的參數可以辦到…例如串上時間…
不知道有沒有更好的方法…若有人知道請教我 :D


public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
        InitializeUI();
        DataContext = MainPageModel;
    }

    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/MainPage.xaml?time=" + DateTime.Now.Ticks.ToString(), UriKind.Relative));
    }
}

沒有留言:

張貼留言