【问题标题】:Problem with image from server in SilverlightSilverlight 中来自服务器的图像问题
【发布时间】:2010-10-21 13:08:03
【问题描述】:
我在尝试显示图像时遇到问题。
在我的项目中,我有一个类女巫有一个“公共字符串图像”属性。
我有一个本地网络服务器,它返回给我一个类的集合。当我在调试模式下查看图像属性时,它会显示正确的 url(如果我将 url 粘贴到浏览器中,它会显示图像)但图像不显示。相反,如果我从互联网上的图像中输入任何网址,它会向我显示图像。
我不明白为什么silverlight应用程序中没有显示来自本地服务器的图像,但在浏览器中却显示了。
Silverlight 中使用的代码是:
<Image Name="photoImage" Source="{Binding Image}" Margin="30,10,30,10" />
谢谢。
【问题讨论】:
标签:
.net
visual-studio-2010
silverlight-4.0
【解决方案1】:
尝试使用此转换器:
public class RelativeImageSourceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null) { return null; }
var originalString = value.ToString();
if (!Uri.IsWellFormedUriString(originalString, UriKind.RelativeOrAbsolute)) { return null; }
var imageUri = new Uri(originalString, UriKind.RelativeOrAbsolute);
if (!imageUri.IsAbsoluteUri)
{
var hostUri = Application.Current.Host.Source;
imageUri = new Uri(hostUri, originalString);
}
var image = new BitmapImage(imageUri);
return image;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}