2011-02-09 1 views

ответ

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

'Первое исключение исключения типа« System.InvalidOperationException »произошло в PresentationCore.dll System.InvalidOperationException: свойство URISource или свойство StreamSource должно быть установлено. в System.Windows.Media.Imaging.BitmapImage.EndInit() в .BottomBarUserControl.GetImageFromResource (имя String) в ... BottomBarUserControl.xaml.cs: линия 71 в SocialShock_WPF_Client.BottomBarUserControl..ctor() в .. .BottomBarUserControl.xaml.cs: строка 55 System.InvalidOperationException: свойство URISource или свойство StreamSource должно быть установлено. ' – caesay

+0

Вы уверены, что имя, пространство имен и каталог верны? попробуйте Assembly.GetExecutingAssembly(). GetManifestResourceNames() и проверьте, отображается ли ваше изображение в списке – serine

+0

да, оно отображается в списке GetManifestResourceNames. – caesay

0

Точно так же. Создать объект BitmapImage (пройти Uri объект с тем же путем к его constructor). Затем установите свойство Source Image в только что созданный объект BitmapImage.

+0

"передать объект uri"? – caesay

+0

@Tommy да, я добавил ссылку на соответствующий конструктор. – Anvaka