0

基本的に、WPF 画像が WPF 境界内にあるようなことをしようとしています。定期的に RotateTransform Angle プロパティを変更して画像を回転させます。

問題は、画像を回転させると、境界線が回転しないか、画像の新しい形状に合わせて変更しようとすることです。配置プロパティをストレッチするように設定し、境界線の高さ/幅を画像の高さ/幅にバインドしようとしましたが、うまくいきませんでした。問題は、画像を回転させても実際には Image オブジェクトの高さや幅が変わらないため、境界線が何をすべきかわからないことだと思います。

境界線のサイズを変更できる画像を回転させるより良い方法はありますか、そうでない場合は、RotateTransform Angle を変更している場合、境界線のサイズを正しく変更するにはどうすればよいですか。

ありがとう!

4

2 に答える 2

1

LayoutTransformの代わりに使用しRenderTranformます。

RenderTransformコントロールの視覚的な変換のみを行い、コントロールを測定して配置した後に適用されます。したがって、他のコントロールから見えるサイズには影響しません。

LayoutTransformオブジェクトのレイアウトに大きく影響します。コントロールを測定して配置する前に適用されるため、他のコントロールではサイズの変化が見られます。

注意:LayoutTransformは非常に遅く、通常は滑らかなアニメーションにはなりません。

<Border BorderThickness="5" BorderBrush="Red" HorizontalAlignment="Center" VerticalAlignment="Center">
    <Image Width="50" Height="50">
        <Image.LayoutTransform>
            <RotateTransform Angle="45" />
        </Image.LayoutTransform>
    </Image>
</Border>

ここに画像の説明を入力

于 2013-10-21T10:57:25.500 に答える