如何解冻冻结的图形



比方说,我已经组合了两个几何体

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

WindowsBase.dll 中发生"System.InvalidOperationException"类型的未处理异常

附加信息:无法在对象"M0;50,。。。。。z',因为它处于只读状态。

在调试器中

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

解冻该数字的正确方法是什么?

我正在努力解决这个问题。

正如@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);
}

最新更新