Может ли кто-нибудь заметить мою ошибку?
Вот код:
StackPanel stackPanel = new StackPanel();
stackPanel.Orientation = Orientation.Vertical;
for (int index = _elements.Count - 1; index >= 0; index--)
{
FrameworkElement element = _elements[index];
WriteableBitmap tempBitmap = new WriteableBitmap(element, null);
Image image = new Image();
image.Source = tempBitmap;
stackPanel.Children.Add(image);
}
stackPanel.UpdateLayout();
_bitmap = new WriteableBitmap(stackPanel, null);
_bitmap.Invalidate();
Как вы можете видеть, я создаю временное изображение, затем добавляю его в панель стека, а затем создание финального WriteableBitmap. Мой первый дочерний элемент stackpanel имеет высоту 154, а второй - 389. После этой строки:
_bitmap.Invalidate();
, когда я вижу PixelHeight, он равен 389. Куда подевался мой первый ребенок?