Silverlight中检查文件的存在方式
本文关键字:存在 方式 文件 检查 Silverlight | 更新日期: 2023-09-27 17:58:40
如果图像不存在或返回空new BitmapImage(new Uri("http://upload.wikimedia.org/wikipedia/commons/1/1c/No-Symbol.png"))
,我需要转换器否则,如果文件存在,则返回文件。
pathImage-示例http://localhost:65051/ClientBin/images/sm_butter_cake.jpg
文件。Exists-总是返回false。为什么?
public class ConvertNullImage : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
string pathImage = Application.Current.Host.Source.AbsoluteUri.Substring(0,
Application.Current.Host.Source.AbsoluteUri.LastIndexOf("/"));
if (File.Exists(pathImage + value.ToString()))
{
var image = new BitmapImage(new Uri(value.ToString(), UriKind.Relative));
return image;
}
else
{
throw new Exception("Not file");
}
}
catch { return new BitmapImage(new Uri("http://upload.wikimedia.org/wikipedia/commons/1/1c/No-Symbol.png")); }
}
public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
throw new NotImplementedException();
}
}
文件。Exists无法通过HTTP工作,请尝试使用此处的解决方案
http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/95851d08-452b-4f32-b03a-206dec5c8095/
需要使用事件ImageFailed。
示例:
<Image MaxHeight="50" x:Name="image" Source="{Binding photo}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="ImageFailed">
<ei:ChangePropertyAction PropertyName="Source">
<ei:ChangePropertyAction.Value>
<ImageSource>
/images/noimage.png
</ImageSource>
</ei:ChangePropertyAction.Value>
</ei:ChangePropertyAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
来源,但这个俄罗斯博客