Начиная с недавно созданного проекта, я добавляю кнопку на свою главную страницу и выполняю в обработчике кликов следующее:
Я создаю Image
и присваиваю BitmapImage
в качестве Source
. Затем я добавляю Image
к своему LayoutRoot
. Я ожидаю, что я увижу изображение в графическом интерфейсе после нажатия кнопки.
Теперь есть поворот: я также хочу сделать это Image
в WriteableBitmap
. Поэтому я создаю такое растровое изображение и вызываю его метод Render
для визуализации изображения.
Вот в чем проблема: когда я закомментирую вызов Render
, я сразу же вижу, что Image
появляется на моей главной странице. Когда я включаю вызов Render
, изображение появляется не при первом нажатии кнопки , а при втором . Почему?
Вот код:
private void button1_Click(object sender, RoutedEventArgs e)
{
WriteableBitmap wbmp = new WriteableBitmap(62, 62);
BitmapImage bmp = new BitmapImage(new Uri("ApplicationIcon.png", UriKind.Relative));
Image img = new Image() { Width = 62, Height = 62, Source = bmp };
wbmp.Render(img, null); // <------ this line makes the difference
LayoutRoot.Children.Add(img);
}