Here写道:
物业价值
变换
应用于几何的转换。 请注意,此值可能是单个Transform或a TransformCollection转换为Transform。
但是我的代码出错:
myGeometry.Transform = (Transform)new TransformCollection(new Transform[] {
new TranslateTransform(33, 22),
new ScaleTransform(2, 1)
});
无法转换类型' System.Windows.Media.TransformCollection'到' System.Windows.Media.Transform'
有人有解释吗?也许我错了?
答案 0 :(得分:1)
TransformCollection
不是Transform
的派生类型,也没有显式运算符将其转换为Transform
类型。你应该这样做:
myGeometry.Transform = new TransformGroup
{
Children = new TransformCollection
{
new TranslateTransform(33, 22),
new ScaleTransform(2, 1)
}
};
或更简单,根本不创建新的TransformCollection实例:
var transform = new TransformGroup();
transform.Children.Add(new TranslateTransform(33, 22));
transform.Children.Add(new ScaleTransform(2, 1));
myGeometry.Transform = transform;