2016-02-25 2 views
0

OK Это должно быть легко. Я видел несколько других вопросов об этом, и он должен работать, но необъяснимо это не так. Так что я есть, что изображениеДобавить изображение из кода

<Image Name="LogoImage" Width="50" Height="50"> 

и я хочу, чтобы установить его с помощью кода. Итак, у меня есть s/r StrPath2ResizedBmpSize, который изменяет размер и получает BitmapImage. Это работает, потому что если в отладке я смотрю на bmp, все в порядке.

Тогда я хочу, чтобы получить изображение, чтобы установить LogoImage через эту рутину:

LogoImage = ImageUtilities.StrPath2ResizedImgSize(strFilename, 50, 50); 

с

public static Image StrPath2ResizedImgSize(string strPath, int newWidth, int newHeight) 
{ 
    var bmp = new BitmapImage(); 
    bmp = BitmapUtilities.StrPath2ResizedBmpSize(strPath, newWidth, newHeight); 
    Image img = new Image(); 
    img.Source = bmp;<-----image is not set and it's null 
    return img; 
} 

, но он не работает, а изображение представляет собой изображение с нулевыми параметрами. Где проблема? Спасибо

+1

Почему вы instanciating новый объект 'Image'? Почему бы просто не установить источник «LogoImage»? (который уже создан) – Sidewinder94

+1

Что такое BitmapUtilities. –

ответ

1

Вы должны сделать так:

public static void StrPath2ResizedImgSize(Image img, string strPath, int newWidth, int newHeight) 
{ 
    img.Source = BitmapUtilities.StrPath2ResizedBmpSize(strPath, newWidth, newHeight); 
} 

ImageUtilities.StrPath2ResizedImgSize(LogoImage, strFilename, 50, 50); 
+0

Итак, из того, что я вижу, и из комментария Сайдундера я вижу, что проблема заключалась в том, что я создавал новый образ. Хорошо, что работает. Но то, что я не могу понять, - это то, почему создание нового изображения, а затем возвращение, делает его неработоспособным. В моей книге то, что я делаю, будет плохой практикой, а не ошибкой. Любое просвещение очень ценится thanx – Luca

+1

Если вы добавите это новое изображение в сетку, например, оно покажет растровое изображение. Если вы хотите заменить этот новый img на старый img, вам нужно удалить старый img из пользовательского интерфейса, а затем добавить новый img для замены. – Sakura

Смежные вопросы