protected override Size ArrangeOverride(Size finalSize) { double width = finalSize.Width; double height = finalSize.Height; rectangle.Arrange(new Rect(0, 0, width, height)); if (directImage != null) { if (directImage.d3dImage != null) { directImage.SetImageSize((int)width, (int)height, 96); } } else { messageBlock.Arrange(new Rect(0, 0, width, height)); } return(finalSize); }