0

我在 windows phone 项目中有两个页面:

主页.xaml

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                 <StackPanel x:Name="stp" Orientation="Horizontal"
 HorizontalAlignment="Left" Height="auto" VerticalAlignment="Top" Width="auto"/>
    </Grid>

MainPage.xaml.cs

private void gotoAddPage(object sender, EventArgs e)
{
    NavigationService.Navigate(new Uri("/AddPage.xaml",
    UriKind.RelativeOrAbsolute));
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{

    (App.Current as App).todoList.ForEach(delegate(Grid g)
    {
        stp.Children.Add(g);
    });

    base.OnNavigatedTo(e);
}

AddPage.xaml.cs

    private void OnAddButtonClick(object sender, RoutedEventArgs e)
    {
        RowDefinition rd = new RowDefinition();
        Grid gr = new Grid();
        gr.RowDefinitions.Add(rd);
        gr.ShowGridLines = true;

        TextBlock tb = new TextBlock();
        tb.Text = addTxtbox.Text;
        gr.Children.Add(tb);
        (App.Current as App).todoList.Add(gr);

        NavigationService.Navigate(new Uri("/MainPage.xaml",
        UriKind.RelativeOrAbsolute));
    }

我正在使用 App 作为列表的存储。
问题是当我尝试将列表项添加到 MainPage 上的堆栈面板时,它会在我添加列表中的第二项(在 AddPage 上)并返回后创建一个异常(元素已经是另一个元素的子元素。) MainPage 并尝试打印它。

4

0 回答 0