から来る Windows Phone 8
Windows Phone 8.1
コード。基本的に、ページナビゲーションを行う方法は、Windows Phone 8
。それを行うには、次を追加する必要があります。
NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));
しかし、そのコードはWindows Phone 8.1
。
誰かがこれを手伝ってくれますか?可能であれば、すべての新しいWindows Phone 8.1
メソッド。
Windows Phone 8.1では、ページナビゲーションメソッドは次のようになります。
Frame.Navigate(typeof(SecondPage), param);
これは、「SecondPage」にナビゲートし、「param」(オブジェクトに基づくクラス)を渡すことを意味します。
パラメータを渡す必要がない場合は、これを使用できます:
Frame.Navigate(typeof(SecondPage));
ドキュメントを見つけることができます このMSDNリンク用
戻りたい場合は、次を使用できます。
if(this.Frame.CanGoBack)
{
this.Frame.GoBack();
}
戻るボタンのクリックで戻りたい場合は、hardwarebuttonイベントをオーバーライドする必要があります。
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if(rootFrame != null && rootFrame.CanGoBack)
{
rootFrame.GoBack();
e.Handled = true;
}
}
E.Handledをtrueに設定してください。
// Navigation Without parameters
this.Frame.Navigate(typeof(SecondPage));
// Navigation with parameters
this.Frame.Navigate(typeof(SecondPage),MyParameters);
複数のパラメーターを送信するには:答えるのはかなり遅いですが、誰かを助けるかもしれません。カスタムクラスを作成し、パラメーターを設定して、そのオブジェクトをパラメーターとしてターゲットページに送信できます。
例えば。カスタムクラス:
public class CustomDataClass
{
public string name;
public string email;
}
CustomDataClass myData = new CustomDataClass();
myData.name = "abc";
myData.email = "[email protected]";
Frame.Navigate(typeof(SecondPage), myData);
そして、ターゲットページで、次のようなOnNavigatedTo関数で取得できます。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
CustomDataClass myData2 = e.Parameter as CustomDataClass;
string name = myData2.name;
string email = myData2.email;
}
それが役に立てば幸い。