我正在设置一系列按钮,一个用于表格中的每个项目。我需要做的是为每个按钮设置Navigate参数,无论如何,我可以从.cs代码设置以下内容吗?:
<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 :(得分:1)
您可以在按钮的Click事件中尝试此代码
using System.Windows.Navigation;
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/MissionPage.xaml.xaml", UriKind.Relative));
}
答案 1 :(得分:0)
我要处理的方法是,为每个按钮上的tap事件创建一个新的eventhandler。传递i作为函数的参考。
btn.Tap += functionToHandleTap(i);
在自我的函数中,我将创建一个switch或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));
}