2009-05-16 6 views
6

Sto tentando di visualizzare un'immagine in un'applicazione Silverlight ma l'immagine non viene visualizzata quando si esegue l'applicazione. Durante la creazione del progetto in Visual Studio ho scelto l'opzione "Genera automaticamente una pagina di test per l'hosting di Silverlight al momento della compilazione".Immagini non visualizzate in Silverlight quando l'app è in esecuzione

completo del codice come un esempio:

<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> 

L'applicazione appare perfettamente all'interno di Visual Studio, ma quando faccio funzionare l'applicazione, l'immagine non viene visualizzata. Qualche idea?

+0

Hai provato a caricare l'immagine localmente? –

+0

No, perché ho bisogno di caricare immagini dagli URL. –

+0

Sembra una cosa semplice, qualche idea del perché il codice sopra non funziona? –

risposta

1

Mmm ...

Date un'occhiata a questo documento:

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

Penso che il problema principale è che si effettua una chiamata dominio croce, solo e consulenza: scaricare violinista, lì verificherete se il server su cui state richiedendo i dati consente chiamate interdominio (basta provare, caricare un'immagine da flckr e vedere cosa succede).

Una soluzione potrebbe essere quella di utilizzare il tunneling sul lato server (un hanl http personalizzato sul dominio, che acquisisce l'immagine da un server remoto e la reindirizza alla petizione SL).

HTH Braulio

0

Il vostro esempio è assolutamente funzionando. L'ho appena provato

Il problema potrebbe essere nella rete?

È possibile eseguire il debug delle comunicazioni di rete tramite Fiddler.

0

Mentre l'accesso URL tra domini è consentito per il controllo Immagine, l'accesso a schema incrociato non lo è. Quando viene eseguito utilizzando la pagina di prova generata automaticamente, verrà eseguito dall'unità locale (presumo che venga eseguito indirettamente sotto il protocollo FILE), pertanto non sarà consentito eseguire lo schema incrociato sul protocollo HTTP. Quello che dovresti fare è avere la pagina contenente il tuo controllo Silverlight sotto http://localhost, che dovrebbe fare il trucco.

Riferimento: URL Access Restrictions in Silverlight

In alternativa, a un progetto di Silverlight (non il progetto web) proprietà, al riquadro di debug, selezionare per funzionare come applicazione OOB per testare