如何解冻冻结的身材

时间:2014-08-29 10:12:47

标签: c# wpf

让我们说,我已经结合了2个几何

var combined = Geometry.Combine(geometry1, geometry2, GeometryCombineMode.Intersect, null);
if (combined.Figures.Count > 0)
    combined.Figures[0].IsClosed = false; // throws exception
  

未处理的类型' System.InvalidOperationException'发生在WindowsBase.dll

中      

附加信息:无法在对象上设置属性' M0; 50,..... z'因为它处于只读状态。

在调试器中

geometry1.IsFrozen = false;
geometry2.IsFrozen = false;
combined.IsFrozen = false;
combined.Figures.IsFrozen = false;
combined.Figures[0].IsFrozen = true; // wtf?

解冻的正确方法是什么?

我正在尝试解决this问题。

1 个答案:

答案 0 :(得分:1)

正如@pushpraj评论的那样,有一种Clone()方法可以解决这个问题:

var combined = Geometry.Combine(geometry1, geometry2, GeometryCombineMode.Intersect, null);
if (combined.Figures.Count > 0)
{
    var figure = combined.Figures[0].Clone();
    figure.IsClosed = false;
    combined.Figures.RemoveAt(0);
    combined.Figures.Insert(0, figure);
}