Вы делаете это неправильно, потому что CustomMessagebox.Bacground
является Brush
. Вы не можете поместить туда BitmapImage, ImageSource и другие.
Это будет точно работать, если вы положили:
Background = new SolidColorBrush(Colors.Red),
На самом деле существует в Windows Phone что-то вроде ImageBrush но, как я проверить его не будет работать с этим легко с CustomMessageBox:
ImageBrush mybrush = new ImageBrush() {ImageSource = new BitmapImage(new Uri("/Resources/firstImage.png", UriKind.Relative)) };
Он не будет работать, потому что в WPToolkit исходном коде есть что-то вроде этого (License to code):
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Public License (Ms-PL).
// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
// All other rights reserved.
// Insert the overlay.
Rectangle overlay = new Rectangle();
Color backgroundColor = (Color)Application.Current.Resources["PhoneBackgroundColor"];
overlay.Fill = new SolidColorBrush(Color.FromArgb(0x99, backgroundColor.R, backgroundColor.G, backgroundColor.B));
_container = new Grid();
_container.Children.Add(overlay);
Как вы можете видеть, Grid
наложен на Rectangle
, который заполнен SolidColorBrush
, а не Brush
(ImageBrush
), который вы установили.
Попробуйте использовать другие Uri ("/ image.png", UriKind.RelativeOrAbsolute) - если изображение находится в корневой папке проекта. – Romasz
Показывает ошибку bitmapimage не удалось найти – zap92
Я попробовал источник изображений вместо bitmapimage, пока он покажет некоторую ошибку – zap92