0

Windows Phone アプリ (VB/XAML) で、ページに戻るときにコード ビハインドで XAML コントロールを作成する際に問題が発生しています。

基本的に、私のページがクラッシュしたときにやろうとしているのは、データコンテキストに基づいていくつかのコントロールを作成することです。最初はコントロールが正しく作成されますが、ページを離れてコントロールに戻ると、コントロールは作成されなくなります (同じデータ オブジェクトを使用してページに入力するかどうかに関係なく)。これはクラッシュする行です:

ItemStack1.Children.Add(AnswerPanel1)

一般的な「System.InvalidOperationException」エラーが発生します。

その時点まで、すべてが期待どおりであることを確認しました。ページの移動方法に関係なく、データ オブジェクトが正しく設定されています。また、AnswerPanel1 項目を追加する前に削除して、問題を絞り込もうとしました。アプリが最後に開いたときからページを「記憶」していると思われ、これが原因で何かを「倍増」させています。

この行の周りで「Try ... Catch」を使用すると、コントロールがページに表示されなくなります (これは、コントロールが存在しないことを意味します。これが、2 回目の (再) 作成が失敗した理由だと思いました)。

私はこれでページに移動します:

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

...小さな「ヘルパー」クラスを使用してsItemオブジェクトを渡しますが、クラス内では次のように通常どおりナビゲートします。

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

基本的または明白な何かが欠けていると思います...フロントページに戻るときにページをメモリから「フラッシュ」する必要がありますか?

4

1 に答える 1

0

コントロールを正確に作成しようとするのはいつですか? OnNavigatedTo() または Page_Loaded() でそれらを作成していますか? オブジェクトを作成しようとするのと同じではありません。

于 2013-04-14T19:45:33.220 に答える