Просмотр исходного кода

mxg:修改图片地址解析报错

mengxiangge 6 лет назад
Родитель
Сommit
a2a93ae12d
1 измененных файлов с 16 добавлено и 7 удалено
  1. 16 7
      MBI/SAGA.DotNetUtils/WPF/Converter/StringToImageConverter.cs

+ 16 - 7
MBI/SAGA.DotNetUtils/WPF/Converter/StringToImageConverter.cs

@@ -18,19 +18,28 @@ namespace SAGA.DotNetUtils.WPF.Converter
     /// <summary>
     /// StringToImageConverter
     /// </summary>
-    public class StringToImageConverter:IValueConverter
+    public class StringToImageConverter : IValueConverter
     {
         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
         {
             BitmapImage img = new BitmapImage();
             if (value == null) return img;
             //若要原始文件的站点,可以调用 Application 类的 GetRemoteStream 方法,同时传递标识原始文件的所需站点的 pack URI。 GetRemoteStream 将返回一个 StreamResourceInfo 对象,该对象将原始文件的该站点作为 Stream 公开,并描述其内容类型。
-            var uri = new Uri(value.ToString().Replace("%20", " "), UriKind.Relative);
-            StreamResourceInfo info = Application.GetRemoteStream(uri);
-            img.BeginInit();
-            //img.UriSource = new Uri(value.ToString(), UriKind.Relative);
-            img.StreamSource = info.Stream;
-            img.EndInit();
+            try
+            {
+                var uri = new Uri(value.ToString().Replace("%20", " "), UriKind.Relative);
+                StreamResourceInfo info = Application.GetRemoteStream(uri);
+                img.BeginInit();
+                //img.UriSource = new Uri(value.ToString(), UriKind.Relative);
+                img.StreamSource = info.Stream;
+                img.EndInit();
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e);
+                img = null;
+            }
+
             return img;
         }