Как установить фоновое изображение для кнопок в Silverlight в файле codebehind приложения WP7 - PullRequest
2 голосов
/ 07 октября 2011

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

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

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

Ответы [ 2 ]

8 голосов
/ 07 октября 2011

код:

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

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

1 голос
/ 07 октября 2011

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

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

...