示例#1
0
 /// <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;
         }
     }
 }