2013-04-24 73 views
0

我正在设置一系列按钮,一个用于表格中的每个项目。我需要做的是为每个按钮的导航参数,反正是有,我可以设置为从的.cs代码?:Windows Phone 8设置导航URI

<ec:NavigateToPageAction TargetPage="/MissionPage.xaml"/> 

这里下面是我使用,使按钮的代码:

foreach (string i in missionQ) 
     { 
      Button btn = new Button() { Content = "Run", Width=120, Height=90 }; 
      btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; 
      btn.VerticalAlignment = System.Windows.VerticalAlignment.Top; 
      btn.Margin = new Thickness(0, (100*x), 20, 0); } 
+0

所以每个字符串我在你的foreach是用于导航的不同势XAML? – 2013-04-26 08:18:47

回答

0

我会处理这个问题的方法是,为每个按钮上的轻击事件创建一个新的事件处理程序。通过我作为函数的参考。

btn.Tap += functionToHandleTap(i); 

在功能方面它的自我我会创建一个开关或if语句,然后导航基于传递给funtionToHandleTap第i参数。

 private void functionToHandleTap(string i) 
    { 
     string naviString = string.Empty; 

     if (i == "something") 
     { 
      naviString = "some xaml here"; 
     } 
     else 
     { 
      naviString = "another xaml here"; 
     } 

     _rootFrame.Navigate(new Uri(naviString, UriKind.Relative)); 
    } 
1

你可以在按钮的点击事件试试这个代码

using System.Windows.Navigation; 

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

编号:NavigationService Class