6

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

在 Menu.xaml 上,我有 2 个按钮(简单和困难),当我单击按钮时,我导航到 Main.xaml。

当我单击“简单”或“困难”时,我想传递一些值,以便我可以适当地填充 Main.xaml。

1. 如何在 C# 中传递值/参数?
2. 我在哪里检索这些值(例如在 PageLoad 上?)

4

2 回答 2

3

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

于 2012-09-28T16:58:11.467 回答
3

Metro App 中的导航非常简单。

C# 示例:

将此添加到您的点击或任何其他将您带到主页的事件中。

this.Frame.Navigate(typeof(Main),myDifficulty); 

然后在您要导航到的页面上,您可以在其 OnNavigatedTo 事件中获取参数。

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var myDifficulty= e.Parameter; 
    ...    
} 
于 2012-09-28T17:15:20.867 回答