我想复制一个具有基于RenderTransform的新属性的Element。例如,将一个画布上的元素的ScaleTransform转换为另一画布。
private void CopyElement(UIElement elem, Canvas src, Canvas dest, Size scale, Vector offset) {
ScaleTransform resize = new ScaleTransform(scale.Width, scale.Height);
elem.LayoutTransform = resize;
UIElement newElem = CopyElement(src, elem);
Canvas.SetLeft(newElem, Canvas.GetLeft(elem) * scale.Width + offSet.X);
Canvas.SetTop(newElem, Canvas.GetTop(elem) * scale.Height + offSet.Y);
dest.Children.Add(newElem);
}
答案 0 :(得分:1)
您根本不需要这样做。
只需设置元素的LayoutTransform
属性而不是其RenderTransform
。