是否可以将所有受UIElement RenderTransform影响的属性复制到新元素中?

时间:2018-11-09 16:26:18

标签: c# wpf copy scaletransform layouttransform

我想复制一个具有基于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);
}

1 个答案:

答案 0 :(得分:1)

您根本不需要这样做。

只需设置元素的LayoutTransform属性而不是其RenderTransform