2013-04-24 115 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