/// <summary> /// Set shape style. /// </summary> /// <param name="project">The project instance.</param> /// <param name="shape">The shape instance.</param> /// <param name="style">The style instance.</param> public static void ApplyStyle(this XProject project, BaseShape shape, ShapeStyle style) { if (shape != null && style != null) { if (shape is XGroup) { var shapes = XProject.GetAllShapes((shape as XGroup).Shapes); foreach (var child in shapes) { var previous = child.Style; var next = style; project?.History?.Snapshot(previous, next, (p) => child.Style = p); child.Style = next; } } else { var previous = shape.Style; var next = style; project?.History?.Snapshot(previous, next, (p) => shape.Style = p); shape.Style = next; } } }