0

我正在设置一系列按钮,一个用于表格中的每个项目。我需要做的是为每个按钮设置 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); }
4

2 回答 2

1

您可以在按钮的 Click 事件中尝试此代码

using System.Windows.Navigation;

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

参考:NavigationService 类

于 2014-02-23T15:52:50.053 回答
0

我处理这个问题的方法是,为每个按钮上的点击事件创建一个新的事件处理程序。传递 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));
    }
于 2013-04-26T08:34:08.827 回答