Menu.xaml と Main.xaml の 2 つの XAML ページがあります。
Menu.xaml には 2 つのボタン (Easy と Hard) があり、ボタンをクリックすると Main.xaml に移動します。
Main.xaml を適切に設定できるように、[Easy] または [Hard] をクリックしたときに何らかの値を渡したいと考えています。
1. C# で値/引数を渡すにはどうすればよいですか?
2. これらの値はどこで取得できますか (PageLoad など)。
Menu.xaml と Main.xaml の 2 つの XAML ページがあります。
Menu.xaml には 2 つのボタン (Easy と Hard) があり、ボタンをクリックすると Main.xaml に移動します。
Main.xaml を適切に設定できるように、[Easy] または [Hard] をクリックしたときに何らかの値を渡したいと考えています。
1. C# で値/引数を渡すにはどうすればよいですか?
2. これらの値はどこで取得できますか (PageLoad など)。
Metro アプリのナビゲーションは非常にシンプルです。
C# の例:
これをクリックに追加するか、メイン ページに移動するその他のイベントに追加します。
this.Frame.Navigate(typeof(Main),myDifficulty);
次に、移動先のページで、その OnNavigatedTo イベントで引数を取得できます。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var myDifficulty= e.Parameter;
...
}
Frame.Navigate
メソッドを見てみましょう。パラメータを渡すことができるオーバーロードがあります。
通常、これは次のようになります。
private void OnButtonClick(object sender, EventArgs args)
{
if (sender == easyButton)
NavigateToDifficulty(DifficultyLevel.Easy);
else
NavigateToDifficulty(DifficultyLevel.Hard);
}
private void NavigateToDifficulty(DifficultyLevel difficulty)
{
this.Frame.Navigate(typeof(DifficultyPage), difficulty)
}
ナビゲーション パラメータを取得するには、LayoutAwarePage
(サンプル テンプレートに含まれている)LoadState
メソッドを参照してください。