更改Image源属性时崩溃

时间:2016-07-21 20:34:29

标签: c# .net wpf xaml crash

<Image x:Name="pageImg" Margin="-19,-1,37,19" Source="/img/1.png" Stretch="Uniform"  />

图片属性也设置为Build Action = Resource和复制Output Directory = Cope if newer

单击该按钮时,应用程序崩溃:

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
            pageImg.Source = new BitmapImage(new Uri(@"/img/2.png"));
        }

但是,当我通过C:\Users\myuser\Desktop\2.png代替/img/2.png时,它的工作正常。

为什么会这样?

2 个答案:

答案 0 :(得分:2)

图像资源文件(Build Action设置为Resource)应由Resource File Pack URI加载:

pageImg.Source = new BitmapImage(new Uri("pack://application:,,,/img/2.png"));

没有必要将其复制到输出目录。

答案 1 :(得分:0)

这解决了我的问题:

pageImg.Source = new BitmapImage(new Uri(@"/img/2.png", UriKind.Relative));