どのように私は私のSilverlightアプリでSystem.Windows.Controlsから特定のコントロールが含まれていますか?

StackOverflow https://stackoverflow.com/questions/1363087

質問

Microsoftは<のhref = "http://msdn.microsoft.com/en-us/library/cc645075(VS.95).aspx" のrel = "nofollowをnoreferrer" における各種制御の便利なリファレンスを持っています> System.Windows.Controls名前空間とコントロールは、ランタイムの中に含まれています。

ランタイムには含まれていませんここに記載されている任意のコントロールのために、あなたはSystem.Windows.Controlsアセンブリへの参照を含めるとVisual Studioで「ローカルコピー」を選択する必要があります。だから、私は現在やっているものだとそれが動作します。

ただし、このDLLを含めることで、私は私のXAPファイルにはほぼ80キロバイトを追加している(と私のXAPファイルは110キロバイトです)。私はそれを使用している唯一のコントロールは、それがGridSplitterである必要があり。 GridSplitterをのみ含まれ、このアセンブリの要約版を再構築する方法はありますか?

役に立ちましたか?

解決

これは、私はちょうどSilverlight 2のための答えを見つけたように見えます...

2ランタイムとSDKコントロール

そして、私はそれが今の私のために働くだろうと思います。私は、プロジェクトを通過し、プロジェクトからすべての不要なビットを除外し、再構築を行うことができるはずです。

私はまだSilverlightの2を使用していますが、私は数ヶ月で3に切り替えることになります。そして、私はたぶんソースは、Silverlight 3のためにまだ利用できないのSilverlight 3についても同じことを見つけるように見えることができますか?

UPDATE:

だから私はいくつかのフープを介してジャンプした後に、この作業を得ました。最初は私がマイクロソフトからソースプロジェクトをダウンロードして、ちょうどものを取り除く始めました。しかし、私は、私は解決策を構築することができなかったことに気づきました。実際、私はどちらかのソリューションの無修正バージョンをビルドできませんでした。私は、厳密な名前の確認に関するエラーを得ていました。私は、プロジェクトのプロパティの「署名」セクションから厳密な名前の署名をオフにしようとしたが、私は同じエラーを得ました。私も、厳密な名前の検証のスキップ・リストにアセンブリを追加し、最終的にエラーを過ぎました。私は私のSilverlightプロジェクトに新しいアセンブリが含まれており、ブラウザでそれを実行しようとしたときしかし、私は空白の画面(Silverlightコントロールロードされることはありません)を取得したいです。私はまだ、なぜわからないが、私は、私は何かが欠けたと確信しています。

最後に、私はちょうど新鮮なプロジェクトを作成しました。私が最初からこれをやったはずですようです。私はちょうどGridSplitterのために空のC#Silverlightのクラスライブラリを作成する必要がありました。それから私は、ソースはこのプロジェクトにGridSplitterに必要なファイルの追加を開始し、その後、私はSystem.Windows.Controlsに名前空間とアセンブリ名を設定します。このプロジェクトをビルドし、私のSilverlightのアプリでそれを参照した後、それは最終的に働きました。結果:60キロバイトの節約

私はここでこのことについてもう少し書きました

http://regexhero.net/blog/2009 /09/optimizing-silverlight-xap-file.htmlする

誰もがそれを望んでいる場合、私は

...右ここSDKからコントロールの4を持っています

http://www.silverlightxap.com/controls/tagged/silverlight-sdk

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top