私は次のような単純なキャンバスを持っています:
<Canvas x:Name="canvBackground" Grid.Row="0" Margin="20" Background="Blue">
<Canvas.LayoutTransform>
<ScaleTransform x:Name="scaleTransformBackground"
ScaleX="{Binding Value,
ElementName=uiSliderZoom}"
ScaleY="{Binding Value,
ElementName=uiSliderZoom}" />
</Canvas.LayoutTransform>
<Canvas.RenderTransform>
<RotateTransform x:Name="rotateTransformBackground"
Angle="{Binding Value,
ElementName=uiSliderRotate}"></RotateTransform>
</Canvas.RenderTransform >
</Canvas>
これらの変換は、2つのスライダーコントロールにバインドされています。キャンバスの背景にイメージブラシを割り当てましたが、これは正常に機能します。imagebrushを割り当てるときに、両方の変換のcenterXプロパティとcenterYプロパティを画像のXとYの半分に設定しています。ズームスライダーは、回転スライダーと同様に期待どおりに機能します。
ズームとスライダーを組み合わせると、奇妙な結果が得られます(つまり、回転変換は元のサイズの画像のcenterXプロパティとcenterYプロパティに基づいています。したがって、回転とズームは期待どおりに動作しません(ズームインしてズームアウトして回転します)。画像の中央付近。
誰かが助けることができますか?
どうもありがとう。