Если вы хотите переместить ваш холст с матрицей, вы должны сделать так:
<Canvas Name="mcanvas" >
<Canvas.RenderTransform>
<MatrixTransform x:Name="mt"/>
</Canvas.RenderTransform>
</Canvas>
тогда вы можете делать все, что вы хотите, на матрице "MT". Как это:
Для шкалы:
Matrix matrix = new Matrix();
matrix.Scale(1.5, 1.5);
mt.Matrix = matrix;
mcanvas.LayoutTransform = Transform.Identity;
Для перевода (изменение положения):
Matrix matrix = new Matrix();
matrix.Translate(50, 0);
mt.Matrix = matrix;
mcanvas.LayoutTransform = Transform.Identity;
И если вы хотите создать элемент canvas программным способом, вам следует сделать следующее:
Ellipse el = new Ellipse();
Matrix matrix = new Matrix();
matrix.Translate(50, 0);
matrix.Scale(1.5,1.5);
el.RenderTransform = new MatrixTransform(matrix);
Надеюсь, это поможет вам.