Изменение размера пользовательского элемента управления после преобразования вращения

У меня есть пользовательский элемент управления, который рисует график. Новое требование достигнуто, и одна часть решения вращает график. Внутри элемента управления есть и другие изменения, но они относительно простые и не влияют на эту проблему.

Я могу повернуть элемент управления следующим образом:

protected override void OnRender(DrawingContext drawingContext)
{
    base.OnRender(drawingContext);

    InitStandard();
    drawXaxis();
    drawYaxis();
    drawZAxis();

    Titles();

    Generate();

    drawGridLines();


    if (UsedAxisType == AxisType.FloorPlot)
    {
        gdRootGrid.RenderTransformOrigin = new Point(.5, .5);
        gdRootGrid.RenderTransform = new RotateTransform(90);
    }

}

Это без проблем вращается - теперь мне нужно изменить ширину и высоту элемента управления, чтобы соответствовать новым размерам, созданным с помощью поворота. Я не могу сделать это здесь, так как установка ширины и высоты элемента управления в этом событии вызывает цикл рендеринга.

Как мне сделать это правильно?

1 ответ

Решение

Пытаться

gdRootGrid.LayoutTransform = new RotateTransform(90);

вместо.

Другие вопросы по тегам