グリッドに表示したいSilverlightアプリが1つあります。Silverlightアプリがコンテンツを表示する方法は、各グリッド行のレコードの一意のIDによって異なります。残念ながら、XAPファイルはグリッドの行ごとに再ダウンロードされます。700KBのサイズでは、これはパフォーマンスに大きな影響を与えます。XAPファイルを一度ダウンロードしてからグリッドの各行に再利用することは可能ですか?
3 に答える
XAPがダウンロードされると、SilverlightはSilverlightコントロールのインスタンスごとにアセンブリなどをローカルにキャッシュします。Silverlightコントロールの別のインスタンスを作成する場合、これには、それが管理する独自のドメインがあります。
私の提案は、必要な部分を抽象化し、それらを個別のxamlにベイクしてから、それらを最も必要とする領域にロードすることです。マーシャリング/イベント管理などを処理するために中央の.xapが必要な場合は、Silverlight 3に、他のSilverlightインスタンスが1つのブラウザーページ内でローカルに相互に通信できるようにするローカル接続APIを配置しました(つまり、SilverlighAはすべてindex.html内でSilverlightBと話します)
これにより、必要に応じて一種のローカルプロキシを確立できます。
スコットバーンズ/リッチプラットフォームプロダクトマネージャー/マイクロソフト。
可能ですが、簡単ではありません。xap をダウンロードして IsolatedStorage に保存し、キャッシュされた xap を参照する必要があるたびに Silverlight ホストを作成することもできますが、使用可能なスペースは 1MB しかなく、同じドメインの他の Silverlight アプリがある場合は保証されません。
あなたが説明したことを考えると、あなたがやりたいことをする価値はまだありません. 私はあなたがそれを後ろに持っていると思います。
できるかどうかわかりません。理論的にはキャッシュする必要がありますが、この場合、理論はしゃがむ価値がないようです。
それはすべて < object > タグがさまざまなパラメーターで動作する方法にかかっており、これは (別の) Silverlight の「まばらに」文書化された領域の 1 つです。