2

大規模な Silverlight プロジェクトを引き継いで、基本的なメンテナンスを行うように依頼されました。このようなメンテナンスの 1 つは、ユーザーがブラウザーの [戻る] ボタンをクリックしたときにメソッドを呼び出すことです。前の開発者は、現在休暇中で、ブラウザの戻るボタンを押すと、プロジェクトの「どこか」でメソッド呼び出しが呼び出されることを保証します。

問題は、「どこか」が約 60,000 行のコードのどこかを意味する可能性があることです。これを追跡するのに費やす時間はありません。したがって、私が探しているのは、基本的にコードのすべての行にブレークポイントを挿入し、戻るボタンを押して、何がトリガーされるかを確認することです。そこから、要求された機能を追加するために物事を進めることができます。

私が見落としているこれを行うためのインテリジェントな方法はありますか? 今まで見落としていた魔法の「どこにでもブレークポイントを挿入」ボタンがあることを教えてください...なぜどこにでもブレークポイントを挿入する必要があるのでしょうか?! ;)

どうもありがとう。

4

2 に答える 2

1

ソリューション/プロジェクトで文字列 "Navigat" (単語全体ではない) をグローバル検索します。ブラウザーの戻るボタンのクリックが検出され、何らかのロジックが実行された場合、これが検出され、名前が "OnNavigatedTo" または "OnNavigatingFrom" のバリエーションであるイベント ハンドラーの 1 つのオーバーライド内で処理される可能性が非常に高くなります。NavigationMode 列挙体には、「戻る」ボタンがクリックされたことを判断する方法である「戻る」メンバーがあるため、「NavigationMode.Back」を検索すると同様に表示される場合があります。幸運を!

于 2013-02-27T17:54:22.550 に答える
0

ソリューション全体を検索する可能性があります

   if (navigationService.CanGoBack)
                    navigationService.GoBack();
于 2013-02-27T17:52:30.543 に答える