私の基本的な問題はこれです。古いフォームが破損していると思ったときに問題を引き起こしているネットワークアクティビティに基づいて残ったページでイベントが発生しました。Silverlight/WP7 - 他のページで起動されるナビゲーションとイベント
詳細情報:ネットワークプレーヤーと通信するWindows Phoneアプリを作成しています。すべてのフォームが接続を共有できるように、私のAppクラスには通信クラスの静的インスタンスがあり、すべてのフォームはそのフォームにサブスクライブし、そのフォーム内の結果を処理します。メインメニューからは、1つのタイプのソースを選択して、ナビゲーション中にリストボックスをリフレッシュし、戻るボタンをキャンセルし、新しいコンテンツをリフレッシュしてルートフォルダになるまでファイルナビゲーションをシミュレートするファイルブラウジングフォームを開きます。アプリケーションは、ファイルやフォルダをクリックしているかどうかわからず、メディアが再生を開始し、それを監視してから「再生」フォームに移動すると、ネットワークメッセージが表示されます。私はこれまでにすべての.Navigateを使用していましたが、新しいソースのメインメニューから別のブランチを追加するまではうまくいきました。新しいソースはまったく違っていますが、デバイスは現在のコンテキストで他の何かを意味する多くの同じ汎用コマンドを送信します。私のファイルブラウザフォームにアクセスして新しいソースに行くと、ネットワークからの再生コマンド(これは今他のものを意味する)は、私が以前のソースから私の古い「再生」フォームにジャンプする原因になりますファイルブラウザの形式ではありません。
私は多くのことを試してきましたが、今はうまく動作していますが、メッセージであり、いくつかの機能を失います。現在、私はすべての.navigatesを、バックボタンのオーバーライドでも使用して、スタックとnavigate.gobackの使用を試みるように変更しました。アプリケーションのグローバルを使用して必要なときに変数を渡し、ネットのリスナーをフォームのgobackから外し、新しいフォームのリスナーにナビゲートします。私はタイミングの問題があると思うが、メディアボックスにコマンドを送信する必要がある場合があるため、間違ったイベントハンドラを再度トリガすることになった。私は、可能な限り最も簡単な解決法と考えています。しかし、それは動作するでしょうが、私が古いものから移動したとき、ハンドラなどがすべて破壊され、スタックをまったく使用する必要がない場合、すべてのバックボタンを自分で処理します。
私はそれが長い記述であることを知っています。あなたがこれをこれまでに作ってくれれば、感謝しています。誰でも私ができることについて何か提案がありますか?
サイドノートとして私は長い時間独学のVBプログラマで、.NET 2.0/winformsに悩まされています。私はC#、OOPs、XAMLに移行して、最初のWindows電話アプリなので、私は何か愚かなことをやっているか、何かを見落としている可能性が高いです...
私は正しい軌道に乗っていました。私はすべてを見て、私はイベントに参加していなかったので、終了していませんでした。スタックがより標準的なインターフェースでどのように役立つのかを見ることができますが、スタック内のどこかの場所にプレーヤーを挿入できる仮想ブラウザーでは混乱します – Jason