Wpf - relative image source path

后端 未结 4 584
轮回少年
轮回少年 2020-12-01 16:27

I\'m having problems setting the source for images in my Wpf application. I have an Image where the source is bound to the SourceUri property of the DataContext object, like

4条回答
  •  旧巷少年郎
    2020-12-01 17:26

    After some frustrating times trying with

     
    

    and

     
    

    and

     
    

    I solved this implementing my own converter:

    C# side:

    public class MyImageConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string path= (string)value;
    
            try
            {
                //ABSOLUTE
                if (path.Length > 0 && path[0] == System.IO.Path.DirectorySeparatorChar
                    || path.Length > 1 && path[1] == System.IO.Path.VolumeSeparatorChar)
                    return new BitmapImage(new Uri(path));
    
                //RELATIVE
                return new BitmapImage(new Uri(System.IO.Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + path));
            }
            catch (Exception)
            {
                return new BitmapImage();
            }
    
        }
    
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
    

    XAML side:

    
        
        (...)
    
    
    
    

    Cheers,

    Sérgio

提交回复
热议问题