旋转变换后不显示WPF图像

时间:2013-02-06 18:51:02

标签: c# wpf image height width

我想知道是否有人可以帮我解决显示问题。我想使用下面的代码简单地允许顺时针旋转90度:

        RotateTransform rotateTransform = new RotateTransform();
        rotateTransform.CenterX = image1.Width / 2.0;
        rotateTransform.CenterY = image1.Height / 2.0;
         cW+= 90;

        rotateTransform.Angle = cW;

        TransformGroup transformGroup = new TransformGroup();
        transformGroup.Children.Add(rotateTransform);


        image1.RenderTransform = transformGroup;

在XAML中,当我定义图像的高度和宽度时,图像将旋转。但是,设置为auto时,执行此代码后图像将消失。为什么会发生这种情况?如何解决这个问题?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

您可能需要使用图片的ActualHeightActualWidth

RotateTransform rotateTransform = new RotateTransform();
rotateTransform.CenterX = image1.ActualWidth / 2.0;
rotateTransform.CenterY = image1.ActualHeight / 2.0;

如果明确设置高度和宽度,则它们是相同的。当它未设置时,高度和宽度不会设置,所以你的中心是错误的。