0

在我的 Windows Phone 应用程序 (VB/XAML) 中,我在返回页面时无法在代码中创建 XAML 控件。

基本上我的页面在崩溃时试图做的是基于数据上下文创建一些控件。控件一开始是正确创建的,然后当页面离开并返回到控件时将不再创建(无论是否使用相同的数据对象来填充页面)。这是崩溃的行:

ItemStack1.Children.Add(AnswerPanel1)

我只是得到一个通用的“System.InvalidOperationException”错误。

我已经检查到那时一切都如我所料 - 无论页面如何导航到,数据对象都正确填充。我还尝试通过在尝试添加之前删除 AnswerPanel1 项目来缩小问题范围。我怀疑该应用程序正在“记住”上次打开页面时的页面,这导致我“加倍”了一些东西。

如果我在这一行周围使用“Try...Catch”,则页面中缺少控件(对我而言,这意味着控件不存在,我认为这是(重新)创建它第二次失败的原因。

我用这个导航到页面:

NavigationService.Navigate("/CasebookSelectCasePage.xaml", sItem)

...它使用一个小“助手”类来传递 sItem 对象,但在类中它可以正常导航,如下所示:

 service.Navigate(New Uri(page, UriKind.Relative))

我想我遗漏了一些基本的或明显的东西......当向后导航到首页时,我是否需要将页面“刷新”出内存?

4

1 回答 1

0

When do you try to create your controls exactly? Are you creating them in OnNavigatedTo() or in Page_Loaded() ? It's not the same in which you try to create your objects.

于 2013-04-14T19:45:33.220 回答