运行应用程序时,图像不显示在silverlight中

时间:2009-05-16 09:24:48

标签: visual-studio silverlight image

我正在尝试在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中完美显示,但是当我运行应用程序时,图像不会显示。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

嗯...

看看这个文档:

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

我认为主要问题是您正在进行跨域调用,只是建议:下载fiddler,在那里您将检查您请求数据的服务器是否允许跨域调用(只需试一试,加载一个来自flckr的图片,看看会发生什么。)

一种解决方案,可能是在服务器端使用隧道(您域上的自定义http hanlder,从远程服务器获取图像并将其重定向到您的SL请求)。

HTH      布劳略

答案 1 :(得分:0)

你的榜样绝对有效。我刚尝试过。

可能是网络中的问题?

您可以通过Fiddler调试网络通信。

答案 2 :(得分:0)

虽然Image控件允许跨域URL访问,但不允许跨程序访问。当使用自动生成的测试页面运行时,它将从本地驱动器运行(我猜这将间接在FILE协议下运行),因此不允许交叉方案到HTTP协议。您应该做的是让包含Silverlight控件的页面在http://localhost下运行,这应该可以解决问题。

参考:URL Access Restrictions in Silverlight

或者,在您的Silverlight项目(而不是Web项目)属性中,在“调试”窗格中,选择将其作为OOB应用程序运行以进行测试

答案 3 :(得分:0)

这是一个真正的表演塞!!! 如果在webservice的web服务器上安装一些愚蠢的文件,至少仍然可以进行webservice调用。也许这有帮助:在Web服务器上安装clientaccesspolicy.xml以获取图像。 http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx