C# 如何在Metro风格的应用程序中将值从一个xaml页面传递到另一个xaml页面

C# 如何在Metro风格的应用程序中将值从一个xaml页面传递到另一个xaml页面,c#,xaml,windows-8,microsoft-metro,winrt-xaml,C#,Xaml,Windows 8,Microsoft Metro,Winrt Xaml,我有两个XAML页面:Menu.XAML和Main.XAML 在Menu.xaml上,我有两个按钮(容易和难),当我单击按钮时,我导航到Main.xaml 我想在单击“容易”或“难”时传递一些值, 这样我就可以适当地填充Main.xaml 一,。如何在C#中传递值/参数2。在哪里检索这些值(例如,在PageLoad上?查看框架。导航方法。有一个重载允许您传入参数 通常情况下,这看起来像这样: private void OnButtonClick(object sender, EventArgs

我有两个XAML页面:Menu.XAML和Main.XAML

在Menu.xaml上,我有两个按钮(容易和难),当我单击按钮时,我导航到Main.xaml

我想在单击“容易”或“难”时传递一些值, 这样我就可以适当地填充Main.xaml


一,。如何在C#中传递值/参数
2。在哪里检索这些值(例如,在PageLoad上?

查看
框架。导航
方法。有一个重载允许您传入参数

通常情况下,这看起来像这样:

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
方法

在Metro应用程序中导航非常简单

C#示例:

将此添加到您的单击或任何其他事件,使您进入主页

this.Frame.Navigate(typeof(Main),myDifficulty); 
然后在导航到的页面上,可以在其OnNavigatedTo事件中获取参数

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var myDifficulty= e.Parameter; 
    ...    
}