Я решил пойти и заставить его работать. Единственный улов - это обходной путь, поскольку кажется, что с событием ImageOpened
наблюдается странное поведение По сути, ImageOpened
событие Brush
не вызывается, когда вы назначаете фон для рамки. Как ни странно, он вызывается, когда вы назначаете его элементу. Поэтому я просто создал скрытую кнопку и назначил ей кисть (чтобы вызвать событие ImageOpened
). Я тогда назначил это к структуре, и это работает для меня. Похоже, ошибка, но обходной путь ниже работает для меня.
ImageBrush brush = new ImageBrush();
brush.ImageSource = new BitmapImage(new Uri("/myImage.jpg", UriKind.Relative));
//hide the fake button and set the brush to be its background
button1.Visibility = System.Windows.Visibility.Collapsed;
button1.Background = brush;
//assign it to the frame (or using RootFrame in your case)
var frame = App.Current.RootVisual as PhoneApplicationFrame;
frame.Background = brush;