2011-02-09 106 views
0

IM WPF应用程序的EXE访问图片当前访问我的形象在XAML,并将其与我从代码隐藏

Source="/SocialShock-WPF-Client;component/Images/blue-bar-replication.png" 

设置为一个PictureBox如何将我的代码隐藏做到这一点?

回答

1
public static BitmapImage GetImageFromResource(string name) 
    { 
     var res = new BitmapImage(); 
     res.BeginInit(); 
     res.StreamSource = Assembly.GetExecutingAssembly().GetManifestResourceStream("SocialShock-WPF-Client.Images." + name); 
     res.EndInit(); 

     return res; 
    } 

在您的案例中调用带有图片名称“blue-bar-replication.png”的此方法。 图像构建操作应设置为EmbededResource。

+0

`在PresentationCore.dll中发生类型'System.InvalidOperationException'的第一次机会异常。System.InvalidOperationException:必须设置属性'UriSource'或属性'StreamSource'。 在System.Windows.Media.Imaging.BitmapImage.EndInit() 在.BottomBarUserControl.GetImageFromResource(字符串名称)... BottomBarUserControl.xaml.cs:在SocialShock_WPF_Client.BottomBarUserControl..ctor()的行71 .. .BottomBarUserControl.xaml.cs:第55行 System.InvalidOperationException:属性'UriSource'或属性'StreamSource'必须设置。' – caesay 2011-02-09 16:42:12

+0

确定名称,名称空间和目录是否正确?尝试Assembly.GetExecutingAssembly()。GetManifestResourceNames()并检查您的图像是否出现在列表 – serine 2011-02-09 16:53:15

0

完全相同的方式。创建BitmapImage对象(通过Uri对象具有与其constructor相同的路径)。然后将Image的Source属性设置为新创建的BitmapImage对象。