ページの別の領域で Silverlight アプリを再利用できますか?
-
18-09-2019 - |
質問
グリッドに表示したい Silverlight アプリが 1 つあります。Silverlight アプリがコンテンツを表示する方法は、各グリッド行のレコードの一意の ID によって異なります。残念ながら、XAP ファイルはグリッド内の行ごとに再ダウンロードされます。サイズが 700KB であるため、これはパフォーマンスに大きな影響を与えます。XAP ファイルを一度ダウンロードして、グリッド内の各行にそれを再利用することはできますか?
解決
XAP がダウンロードされると、Silverlight は Silverlight コントロールのインスタンスごとにアセンブリなどをローカルにキャッシュします。Silverlight コントロールの別のインスタンスを作成すると、今度はそのインスタンスが独自のドメインを持ち、それが管理されます。
私の提案は、必要な部分を抽象化し、それらを別の xaml に焼き付けてから、最も必要な領域にロードすることです。マーシャリングやイベント管理などを処理するために中央の .xap がまだ必要な場合は、Silverlight 3 ではローカル接続 API を導入しました。これにより、他の Silverlight インスタンスが 1 つのブラウザ ページ内でローカルに相互に通信できるようになります (つまり、SilverlighA はすべてindex.html内でSilverlightBと通信します)
これにより、必要に応じて、一種のローカル プロキシを確立できるようになります。
Scott Barnes / リッチ プラットフォーム プロダクト マネージャー / Microsoft。
他のヒント
私はあなたができるかわかりません。理論的にはそれがキャッシュされるべきであるが、この場合、理論的には価値がスクワットをいないようです。
これは、
途中まですべてですこれは可能ですが、やることは容易ではありません。あなたは、あなたのキャッシュされたXAPを参照するものを必要とするが、あなたが唯一の1MBのスペースを用意して、あなたはあなたが同じドメインからの他のSilverlightのアプリを持っている場合ことが保証されていないたびにXAPをダウンロードし、IsolatedStorageにそれを保存して、Silverlightのホストを作成することができます。
あなたは、私はまだあなたが何をしたいのかやっての任意の値が表示されない説明何を考えます。私はあなたが後方にそれを持っていると思う。