1

Silverlightナビゲーションページがあります(NavigationCacheMode = "Required"を使用)。通常(マウスクリックで)これらのページに移動すると、ページは期待どおりに読み込まれます(キャッシュ属性のために1回だけ作成されます)。

ただし、ブラウザのアドレスバーのURLを更新する必要があります。これをjavascript( "window.location.hash =#...")で更新すると、アドレスとページが表示されますが、ページが再作成されます。これにより、他の問題が発生します。

特に、これが引き起こしている問題は、ページにxamlで定義されたPrism.regionsがあることです。そのため、すでに登録されているリージョンについて不平を言うエラーがスローされます。

誰かがこれに似た何かを試しましたか?ブラウザがアドレスバーに移動せずにアドレスバーのURLを更新する方法はないと思います。更新しようとしているURLには、Silverlightナビゲーションフレームワークによって直接「認識」されていないクエリ文字列パラメーターが含まれていることに注意してください。

私が試したことのない最後の手段は、すべての一意のURLをナビゲーションフレームワークに登録することです。

4

1 に答える 1

0

ハックを見つけました。URLが手動で更新されている場合は、frame_navigatingイベントをキャンセルするだけです。よく働く。

于 2010-09-24T20:25:20.230 に答える