private void ItemControl_LayoutUpdated(object sender, EventArgs e) { if (_layedOut == false) { if (MainViewbox.ActualWidth > 0) { _layedOut = true; var prevScale = MainViewbox.ActualWidth / ((FrameworkElement)MainViewbox.Child).ActualWidth; var prevFontSize = (MainText.FontSize * prevScale); if (prevFontSize < 8 && (ActualHeight > ActualWidth)) { MainText.LayoutTransform = new RotateTransform(90); MainText.UpdateLayout(); } } } }