2011-01-20 53 views
0

我使用頁面(名爲containerpage)和ContentPresenter(名爲PageContent),並將其內容設置爲頁面的OnNavigatedTo()事件處理程序中的PhoneApplicationPage實例(contentpage)。我還有一個帶有「Show Form」按鈕的主頁。當我點擊該按鈕時,程序導航到容器頁面,該頁面將contentpresenter的內容設置爲contentpage。我的問題是:如果我點擊「節目表」,然後按返回鍵,然後單擊「顯示錶」再次,我得到的ArgumentException與文本wp7 contentpresenter - 將內容設置到同一頁面

「的參數是不正確」

上的containerpage的OnNavigatedTo()事件處理線

this.PageContent.Content = contentpage; 

。我想這是因爲我已經將另一個ContentPresenter的內容設置爲這個內容頁面(因爲導航創建了一個新頁面),但是如果這是問題,我如何從以前的ContentPresenter的內容中取消分配我的內容頁面?

+1

如果你在這裏發佈你的XAML和代碼隱藏代碼會更好。併發布完整的例外細節。 – decyclone 2011-01-20 18:20:42

+0

你有一個頁面,裏面有另一個頁面的內容(PhoneApplicationPAge-> contentpresenter-> PhoneApplicationPage?),看起來相當混亂,可能不會像你期望的那樣工作... – 2011-01-20 18:57:45

回答

0

正如上面提到的分支旋轉,你的問題會更詳細的代碼。也就是說,您可能會在您的軟盤上實施OnNavigatedFrom(),並將Content設置爲null

您可能想要考慮如果該應用程序在容器頁面上被墓碑化時該設計如何成立。

+0

這裏是ContentPage的代碼(包含頁面ContentPresenter): – Vic 2011-01-21 08:52:32

0

說實話,我很驚訝設置Content屬性的一個頁面是另一個頁面的實例甚至可以工作!我真的會建議,作爲一個長期的解決方案。如果第一頁的內容根據某些條件是動態的,則改爲使用不同的UserControl

如果UserControl的數據在調用ShowForm之間不是持久性的,那麼您可以每次創建一個新實例,然後就不會有重新父母問題。

如果您可以詳細說明您的應用場景以及您試圖實現的目標,那麼我們可能會提供更好的答案。

相關問題