旋转变换后调整自定义控件的大小

时间:2014-02-03 14:33:48

标签: wpf wpf-controls custom-controls

我有一个绘制图表的自定义控件。新要求已经到来,解决方案的一部分是旋转图表。控件内部还有其他更改,但这些更改相对简单,不会影响此问题。

我可以按如下方式旋转控件:

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 个答案:

答案 0 :(得分:1)

尝试

gdRootGrid.LayoutTransform = new RotateTransform(90);

代替。