コード例 #1
0
        /// <inheritdoc />
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null || value == DependencyProperty.UnsetValue)
            {
                return(null);
            }

            var path = value as string;

            if (string.IsNullOrEmpty(path))
            {
                return(null);
            }

            if (!File.Exists(path))
            {
                return(null);
            }

            try
            {
                if (path.EndsWith(".svg"))
                {
                    var svgDrawing = new FileSvgReader(new WpfDrawingSettings()).Read(path);
                    svgDrawing.Freeze();
                    return(new DrawingImage(svgDrawing));
                }

                return(new BitmapImage(new Uri(path)));
            }
            catch
            {
                return(null);
            }
        }