将新的RenderTransforms添加到WPF控件

时间:2010-09-08 16:15:47

标签: c# .net wpf

我一直在搞乱WPF中的变换选项。如何在现有变换中“添加”新变换?我需要在不可知的不同时间从几个不同的点执行几个不同的缩放,只需将它们添加到现有对象上,而不是仅使用新的缩放重新创建新的变换。我一直在尝试,例如,RenderTransform.Value.ScaleAt(东西),但似乎没有任何事情发生。我在C#。

感谢。

1 个答案:

答案 0 :(得分:3)

ScaleAt适用于Matrix结构(即Transform.Value属性),不会反映在实际的Transform上。您可以做的是获取当前Matrix,缩放它,然后将新Matrix作为MatrixTransform应用于元素。像这样:

Transform t = myObject.RenderTransform;
Matrix m = t.Value;
m.ScaleAt(1.1, 1.1, 0, 0);

myObject.RenderTransform = new MatrixTransform(m);