2009-05-16 9 views
6

Silverlightアプリケーション内に画像を表示しようとしていますが、アプリケーションの実行時に画像が表示されません。 Visual Studio内でプロジェクトを作成するときは、「ビルド時にSilverlightをホストするためのテストページを自動的に生成する」オプションを選択しました。一例としてアプリケーションが実行されたときに画像が銀色で表示されない

完全なコード:

<UserControl x:Class="SilverlightApplication3.Page" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300"> 
    <StackPanel>   
     <Image Source="http://www.beachtownpress.com/db5/00415/beachtownpress.com/_uimages/beach7.jpg" /> 
    </StackPanel> 
</UserControl> 

アプリケーションは、Visual Studio内完全に表示されますが、私はアプリケーションを実行すると、画像が表示されません。何か案は?

+0

イメージをローカルにロードしようとしましたか? –

+0

いいえ、URLから画像を読み込む必要があるためです。 –

+0

シンプルなもののように思えますが、上記のコードがうまくいかない理由は何ですか? –

答えて

1

うーん...

このdocに見てみましょう:

http://msdn.microsoft.com/en-us/library/system.windows.controls.image.source(VS.95).aspx

私は主な問題は、あなただけの、クロスドメインの呼び出しを行うとアドバイスしていることだと思う:、ダウンロードフィドラーデータを要求しているサーバがクロスドメインコールを許可するかどうかをチェックします(ちょうど試してみて、flckrから画像をロードして何が起こるかを見てください)。

解決策の1つは、サーバー側でトンネリングを使用することです(ドメイン上のカスタムhttpハンター、リモートサーバーからイメージを取得してSL申請にリダイレクトすること)。

HTH ブラウリオ

0

あなたの例では、絶対的に取り組んでいます。私はちょうどそれを試した。

問題がネットワークにある可能性がありますか?

Fiddlerでネットワーク通信をデバッグできます。

0

ImageコントロールにはクロスドメインURLアクセスが許可されていますが、クロススキームアクセスは許可されていません。自動的に生成されたテストページを使用して実行すると、ローカルドライブから実行されます(FILEプロトコルの下で間接的に実行されると思います)ので、HTTPプロトコルとのクロススキームは許可されません。 Silverlightコントロールを含むページをhttp://localhostの下で実行させると、そのトリックを行う必要があります。

参考:またURL Access Restrictions in Silverlight

、あなたのSilverlightプロジェクト(ないWebプロジェクト)のプロパティで、デバッグウィンドウで、これは実際のショーストッパーです

0

をテストするためのOOBアプリケーションとしてそれを実行するかを選択! ! WebサービスのWebサーバにいくつかの愚かなファイルをインストールしても、少なくともWebサービス呼び出しは可能です。おそらく、これは役立ちます:イメージのためのWebサーバー上にclientaccesspolicy.xmlをインストールします。 http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx

関連する問題