Как установить фоновое изображение для кнопок в silverlight в файле codebehind приложения WP7

#windows-phone-7 #silverlight-4.0 #button #background-image

#windows-phone-7 #silverlight-4.0 #кнопка #фоновое изображение

Вопрос:

Я хотел бы знать, как динамически добавлять изображение к кнопке в коде, а не в xaml. Кто-то предложил действовать следующим образом

 ImageBrush brush = new ImageBrush();
brush.ImageSource = new BitmapImage(new Uri(@"Images/myImage.png", UriKind.Relative)); 
AlphabetButton.Background = brush;
  

но BitmapImage не обнаруживается intellisense, хотя я могу найти BitConvertor и Bitmapcache.
Если это не тот метод, как еще я мог бы установить фоновые изображения

Ответ №1:

Код:

 ImageBrush background = new ImageBrush();
background.ImageSource = new System.Windows.Media.Imaging.BitmapImage(new Uri(@"SplashScreenImage.jpg", UriKind.Relative));
Button1.Background = background;
  

Работает, как ожидалось. BitmapImage находится в системе.Windows.dll который уже должен быть в вашем проекте WP7.

Комментарии:

1. спасибо .. 🙂 Я добавил using.windows.media.imaging в пространство имен. Теперь можно получить доступ к BitmapImage.

Ответ №2:

Я считаю, что гораздо проще и проще просто поместить элемент управления изображением за кнопкой, которую вы хотите отобразить, и оставить кнопку с прозрачным фоном.

Это устраняет необходимость создания отдельной кисти для кнопки, а также делает ее более расширяемой, если вы хотите добавить тест поверх изображения. ИМХО

Комментарии:

1. Спасибо. Я довольно новичок в WP, Silverlight и C #. Итак, не могли бы вы дать немного больше помощи по управлению изображениями. Да, я каждый раз создаю отдельную кисть, и это действительно странно.