我确信这是一个简单的新手问题,但我现在找不到答案。
我在 Silverlight 3 中编译了以下控件:
<UserControl x:Class="SLImageTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<StackPanel>
<Image Source="http://farm3.static.flickr.com/2733/4102919659_0207842bde_m.jpg" />
</StackPanel>
</UserControl>
图像来源并不重要,但您可以验证
- 该网址上有一张小猫的图片
- 有一个跨域访问文件 http://farm3.static.flickr.com/crossdomain.xml
当我运行该控件时,我没有显示图像。因此,尽管我努力了,但还是出现了错误。出了什么问题?
但是没有调试输出,因为绑定(bind)错误应该有,没有抛出异常,没有给出任何失败的指示!这是为什么?
类似的代码在 WPF 中运行良好。
如果我将图像包含到项目中,并且执行
<Image Source="kitten1.jpg" />
效果很好。但这不是我想要的。
最佳答案
我的猜测是您是从 file://URL 而不是 http://URL 运行它。查看浏览器地址栏中的 URL 以确定这是否属实。 这是一个跨协议(protocol)访问问题。简单的解决方案是从 Visual Studio 或 Expression Blend 中的内置 Web 服务器进行尝试。从 Visual Studio 调试您的应用程序或从 Blend 运行它,您将看到它有一个 http://localhost网址。
关于silverlight - 网络上的 Silveright 图像源未显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1989456/