0

我将一个页面(名为 containerpage)与一个ContentPresenter(名为 PageContent)一起使用,并将其内容设置为PhoneApplicationPage页面事件处理程序中的一个实例(contentpage)OnNavigatedTo()。我还有一个带有“显示表单”按钮的主页。当我单击该按钮时,程序导航到 containerpage,它将其 contentpresenter 的内容设置为 contentpage。我的问题是:如果我单击“显示表单”,然后按后退按钮并再次单击“显示表单”,我会收到带有文本的 ArgumentException

“参数不正确”

在线的

this.PageContent.Content = contentpage; 

在容器页面的OnNavigatedTo()事件处理程序中。我想这是因为我已经为这个内容页面设置了另一个 ContentPresenter 的内容(因为导航会创建一个新页面),但是如果这是问题所在,我该如何从以前的 ContentPresenter 的内容中取消分配我的内容页面?

4

2 回答 2

0

正如 decyclone 提到的,使用详细的代码,您的问题会更加清晰。也就是说,您可以OnNavigatedFrom()在您的 conatinerpage 上实现并将其设置Contentnull.

如果应用程序在容器页面上被墓碑化,您可能需要考虑如何保持这种设计。

于 2011-01-20T18:36:18.897 回答
0

老实说,我很惊讶将一个页面的Content属性设置为另一个页面的实例甚至可以工作!我真的不建议将其作为长期解决方案。如果第一页的内容基于某些条件是动态的,则使用不同UserControl的 s 代替。

如果 的数据在对 的UserControl调用之间不是持久的ShowForm,那么您每次只需创建一个新实例,就不会遇到重新育儿问题。

如果您可以详细说明您的应用场景以及您想要实现的目标,那么我们也许能够提供更好的答案。

于 2011-01-21T08:25:33.693 回答