wpf图像控制旋转不参加目标

时间:2015-08-19 04:33:52

标签: c# wpf

我有一个图像控制旋转问题(WPF)。

我的宽度为500px& 300px高度照片。 当我将这张照片放在一个图像控件中时:

<window>
    <grid>
        <Border BorderBrush="Green" BorderThickness="4" Margin="20" VerticalAlignment="Center" HorizontalAlignment="Center">
            <Image Source="test.bmp"/>
        </Border>
    </grid>
</window>

它看起来不错,边框会根据图像的大小自动调整大小:500x300。

It looks good

现在我想将图像旋转90度:

<window>
    <grid>
        <Border BorderBrush="Green" BorderThickness="4" Margin="20" VerticalAlignment="Center" HorizontalAlignment="Center">
            <Image Source="test.bmp" RenderTransformOrigin="0.5,0.5">
                <Image.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform/>
                        <RotateTransform Angle="90"/>
                        <TranslateTransform/>
                    </TransformGroup>
                </Image.RenderTransform>
            </Image>
        </Border>
    </grid>
</window>

我的想法是,边框大小也会从500x300变为300x500。

但实际上它不是 - 仍然是500x300,而且图像控制也可以保持500x300的位置。

Oh no

我的问题是,如何解决这个问题?

[更新:已解决]

我使用LayoutTransform而不是RenderTransform:

<window>
    <grid>
        <Border BorderBrush="Green" BorderThickness="4" Margin="20" VerticalAlignment="Center" HorizontalAlignment="Center">
            <Image Source="test.bmp" >
                <Image.LayoutTransform>
                    <RotateTransform Angle="90"/>
                </Image.LayoutTransform>
            </Image>
        </Border>
    </grid>
</window>

Solved

0 个答案:

没有答案