2009-07-13 17 views
2

私は、リストボックスを(ナビゲーションに使用される)BitMapプロパティを含むクラスのコレクションにバインドするSilverlight 2.0アプリケーションを持っています。私はコンテンツとしてXAPの画像を組み込み、BitMapを手動で作成し、これをコントロールソースとして設定しました。また、DLLに画像をリソースとして埋め込み、マニフェストレスストリームから画像を取得して画像を設定しました。 Silverlight 2.0プラグインを使用してXAPを表示すると、これらのルートの両方がうまくいくので、イメージが正しく展開されていることがわかります。残念なことに、Silverlight 3.0プラグインを搭載したマシンでは、これらの方法ではどちらもリストボックスに画像が表示されません。Silverlight 2.0とSilverlight 3.0のバインディング

この問題は、バインディングがリストボックスのItemTemplateで行われる場合にのみ発生することに注意してください。同じプロパティをリストボックスの外に設定すると、イメージを見つけて正常に動作するように見えます。

2.0と3.0の間のListBoxバインドで何が変更されているのでしょうか?私はエラーを再現できるマシン上にSilverlightプラグイン3.0.40307をビルドしています。

-Kevin

+0

(私は現在、DataGridのものに苦しんでいます)ListBoxコントロールとデータグリッドの両方に結合するいくつかの変更がありました。私は具体的にこれらの不具合を引き起こすために何が変わったのか分かりませんが、少なくともあなたの痛みを認めたいと思っていました。 –

+0

アプリケーションの別の領域から私が見つけたことは、ListBoxで画像をバインドする唯一の手段は、サーバー上に画像を残して、サーバーにURIで構築されたBitMapにバインドすることです。今のところこれは私が使用している回避策です。 何が変わったのかが分かっていれば嬉しいです。 –

+0

上記のコメントを傷つける。アプリケーションの他の領域はItemsControlを使用していましたが、これは同じデータバインディングで正常に動作するようです。エラーは、ListBoxにあるように見えます。 –

答えて

1

[OK]を...解決策は、(シルバーボード上のいくつかの助けのおかげで)発見された:

まず、それが唯一のSilverlight 3.0のプラグインのフルリリースで動作します。これは奇妙な問題を引き起こします(後述)。

第2に、ImageまたはBitmapクラスに直接バインディングから切り替えて、代わりにImagesourceクラス(コンストラクタに渡されたBitmapで簡単にインスタンス化できる)を使用する必要がありました。十分に単純です...なぜこれがSL 3.0では必要ですが2.0ではなく、私のコードを壊したのか分かりません。私のコードはまだ2.0プラグインに対して書かれ、コンパイルされていますが、それを持っているコンピュータの3.0プラグインで実行されます。

私には奇妙な問題があります。テストには、SL 2.0、SL 3.0(ベータ版)、およびSL 3.0(フルリリース)のVMまたはデスクトップがあります。私のプラグインはSL 2.0とSL 3.0(フルリリース)では正常に動作しますが、SL 3.0(ベータ)では動作しません。私は警告を受けず、それはうまく開きます、私のイメージが縛られないだけです。だから私の懸念は、多くの開発者/技術者志向の人々が3.0のベータ版を持っていることです。何らかの理由でサイトを強制的にアップグレードする必要はありません。

あなたはここにあり、これらの環境のいずれかが問題のサイトへのリンクですお持ちの場合:http://stlouisdayofdotnet.com/DayOfDotnet.html

関連する問題