WPF 的定位变换方式 Canva.SetLeft() 与 TranslateTransform ,还有CompositeTransform

时间:2022-07-24 20:03:53

WP Canva.SetLeft() 与 TranslateTransform ,还有CompositeTransform

需求:

有一控件,我需要它可以在手指的控制下进行移动与缩放。

方案一:

使用变换:TranslateTransform+ScaleTransform ==》TransformGroup 

 

方案二:

使用直接定位:Canva.SetLeft()与 Canva.SetTop()  +ScaleTransform这换

 

方案三:

使用复杂变换:CompositeTransform

------------------------------------------------

实现差异:

方案一:设置TranslateTransform.X 需要考虑缩放比例;方案二则不用考虑。

  基本都可以实现!但是方案一存在一问题:给ScaleTransform.CenterX 与CenterY设定值,进行缩放时未能准确地显示所缩放的点!

方案三与方案二无实现的效果一样!

 

体现项目:素描画板!待探究!