0

グリッドに表示したいSilverlightアプリが1つあります。Silverlightアプリがコンテンツを表示する方法は、各グリッド行のレコードの一意のIDによって異なります。残念ながら、XAPファイルはグリッドの行ごとに再ダウンロードされます。700KBのサイズでは、これはパフォーマンスに大きな影響を与えます。XAPファイルを一度ダウンロードしてからグリッドの各行に再利用することは可能ですか?

4

3 に答える 3

1

XAPがダウンロードされると、SilverlightはSilverlightコントロールのインスタンスごとにアセンブリなどをローカルにキャッシュします。Silverlightコントロールの別のインスタンスを作成する場合、これには、それが管理する独自のドメインがあります。

私の提案は、必要な部分を抽象化し、それらを個別のxamlにベイクしてから、それらを最も必要とする領域にロードすることです。マーシャリング/イベント管理などを処理するために中央の.xapが必要な場合は、Silverlight 3に、他のSilverlightインスタンスが1つのブラウザーページ内でローカルに相互に通信できるようにするローカル接続APIを配置しました(つまり、SilverlighAはすべてindex.html内でSilverlightBと話します)

これにより、必要に応じて一種のローカルプロキシを確立できます。

スコットバーンズ/リッチプラットフォームプロダクトマネージャー/マイクロソフト。

于 2009-05-02T03:56:10.300 に答える
0

可能ですが、簡単ではありません。xap をダウンロードして IsolatedStorage に保存し、キャッシュされた xap を参照する必要があるたびに Silverlight ホストを作成することもできますが、使用可能なスペースは 1MB しかなく、同じドメインの他の Silverlight アプリがある場合は保証されません。

あなたが説明したことを考えると、あなたがやりたいことをする価値はまだありません. 私はあなたがそれを後ろに持っていると思います。

于 2009-04-28T17:32:28.250 に答える
0

できるかどうかわかりません。理論的にはキャッシュする必要がありますが、この場合、理論はしゃがむ価値がないようです。

それはすべて < object > タグがさまざまなパラメーターで動作する方法にかかっており、これは (別の) Silverlight の「まばらに」文書化された領域の 1 つです。

于 2009-04-28T17:08:57.777 に答える