<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
时,它的工作正常。
为什么会这样?
答案 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));