0

我正在尝试通过询问用户文本框的数量来动态添加文本框。此代码正在运行,但将项目添加到当前位置。

NavigationService.Navigate(new Uri("/Page1.xaml?shouldDownload=true",     UriKind.Relative)); //Naviagte on new page
int num;
int.TryParse(textBox1.Text, out num); //Converting textbox to int
for (int i = 1; i <= num; i++)
{
    TextBox newtext = new TextBox();
    newtext.Text = i.ToString();
    newtext.Margin = new Thickness(300, (i * 80), 0, 0);
    newtext.Width = 124;
    newtext.Height = 68;
    //button.VerticalAlignment = 234;
    //Add contentpanel to your page if there's not one already.
    ContentPanel.Children.Add(newtext);
    newtext.Visibility = System.Windows.Visibility.Visible;
}

但我想将这些项目添加到不在这里的新页面(即:Page1)。

将拨出帮助。

4

2 回答 2

2

尝试通过导航参数将其传递到您的第二页

string num = textBox1.Text;
NavigationService.Navigate(new Uri("/Page1.xaml?shouldDownload=true&num="+num,     UriKind.Relative)); //Naviagte on new page

在您的第二页中,您在 OnNavigatedTo 方法中解析结果

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    string numValue;
    if (NavigationContext.QueryString.TryGetValue("num", out numValue))
    {
        int num = Convert.ToInt32(numValue);
        // add 'em here
    }
}
于 2013-06-21T07:17:01.790 回答
0

你可以试试这个...

NavigationService.Navigate(new Uri("/Page1.xaml?shouldDownload=true&msg=" + extBox1.Text,     UriKind.Relative));

然后在新页面的 onnavigation 方法上执行此操作..

 IDictionary<string, string> parameters = NavigationContext.QueryString;
 string number= parameters["msg"];

然后做你的代码 int num =0;等等

我希望它可能会有所帮助

于 2013-06-21T07:18:22.973 回答