DrawingCollection Class
Represents a collection of Drawings.
public sealed class DrawingCollection : Collection<Drawing>, IList, ICollection, IList<Drawing>, ICollection<Drawing>, IEnumerable<Drawing>, IEnumerable
Public NotInheritable Class DrawingCollection
Inherits Collection(Of Drawing)
Implements IList, ICollection, IList(Of Drawing), ICollection(Of Drawing), IEnumerable(Of Drawing), IEnumerable
- Inheritance:
- System.ObjectDrawingCollection
Implements
Properties
Count
Gets the number of Drawings contained in the collection.
Property Value
- System.Int32
The number of Drawings contained in the collection.
Item[Int32]
Gets or sets the Drawing at the specified index.
public Drawing this[int index] { get; set; }
Public Property Item(index As Integer) As Drawing
Parameters
index
- System.Int32
The zero-based index of the Drawing to get or set.
Property Value
Exceptions
- System.ArgumentOutOfRangeException
index
is less than zero or index
is equal to or greater than Count.
- System.ArgumentNullException
value
is null.
- System.ArgumentException
value
is already contained in another DrawingCollection or it belongs to another SlideObject.
TextContent
Gets the text content of the current DrawingCollection.
Property Value
The text content of the current DrawingCollection.
Remarks
For more information, see Find and Replace example.
Methods
Add(Drawing)
Adds a Drawing to the end of the collection.
Parameters
Exceptions
- System.ArgumentNullException
item
is null.
- System.ArgumentException
item
is already contained in another DrawingCollection or it belongs to another SlideObject.
AddClone<TDrawing>(TDrawing)
Adds a clone of the source
TDrawing
to the end of the collection. Clone will be formatted using the destination theme.
public TDrawing AddClone<TDrawing>(TDrawing source)
where TDrawing : Drawing
Public Function AddClone(Of TDrawing As Drawing)(source As TDrawing) As TDrawing
Parameters
source
- TDrawing
The source TDrawing
that will be cloned.
Returns
- TDrawing
A clone of the source
TDrawing
added to the collection.
Type Parameters
TDrawing
The type of the drawing.
Remarks
Cloning is a process when one or more objects from a presentation are duplicated. Objects can be duplicated to the same or another presentation and to the same or another location (for example, to another slide).
Cloning methods are available on collection types, such as SlideCollection, DrawingCollection, TextParagraphCollection or TextElementCollection. Exception is the PresentationDocument type that has a Clone() method used to make a deep clone of the entire presentation. Cloning methods available on the collection types have two forms: AddClone(Slide) and InsertClone(Int32, Slide) to append the duplicate to the collection or insert it into a specific location in the collection.
Objects contained in the presentation can contain references to other objects. For example, Slide contains a reference to its ParentTemplate, Connector can contain a reference to drawings that it connects (BeginConnection and EndConnection), Action can contain a Target to Slide or CustomSlideShow that should be shown when the action is triggered.
When cloning multiple objects, the desired behavior is to maintain these references in the duplicated objects so that, for example, when Connector is cloned, and later when drawings that it connects are cloned, the duplicated Connector also connects duplicates of the original drawings that are connected.
This reference mapping between an original object and its duplicate is maintained by the instance of the CloneContext type. CloneContext instance is created with Create(PresentationDocument, PresentationDocument) static method. Each object can be cloned exactly once using the same CloneContext instance. If you want to clone the same object multiple times, each time a new CloneContext instance must be used. CloneContext is the most useful when cloning multiple objects one after another or when you want to change a behavior of the cloning operation.
Behavior of the cloning operation can be changed by using Set<T>(T, T) method. With this method you can make an explicit mapping between objects and cloning process will respect that mapping. For example, if you are cloning a Slide instance to another PresentationDocument default behavior would be that its parent template LayoutSlide and MasterSlide would also be cloned to another PresentationDocument. This behavior can be changed by making an explicit mapping from the LayoutSlide that is the ParentTemplate of the Slide that will be cloned to some LayoutSlide in the another PresentationDocument that we wish to be a ParentTemplate of the duplicated Slide. Explicit mapping with Set<T>(T, T) method can currently be made between following type (and their derivatives) instances: SlideObject, Drawing, TableStyle and CustomSlideShow.
Exceptions
- System.ArgumentNullException
source
parameter is null.
AddClone<TDrawing>(TDrawing, CloneContext)
Adds a clone of the source
TDrawing
to the end of the collection.
public TDrawing AddClone<TDrawing>(TDrawing source, CloneContext context)
where TDrawing : Drawing
Public Function AddClone(Of TDrawing As Drawing)(source As TDrawing, context As CloneContext) As TDrawing
Parameters
source
- TDrawing
The source TDrawing
that will be cloned.
context
- CloneContext
The context used to maintain reference mapping in multiple cloning operations.
Returns
- TDrawing
A clone of the source
TDrawing
added to the collection.
Type Parameters
TDrawing
The type of the drawing.
Remarks
Cloning is a process when one or more objects from a presentation are duplicated. Objects can be duplicated to the same or another presentation and to the same or another location (for example, to another slide).
Cloning methods are available on collection types, such as SlideCollection, DrawingCollection, TextParagraphCollection or TextElementCollection. Exception is the PresentationDocument type that has a Clone() method used to make a deep clone of the entire presentation. Cloning methods available on the collection types have two forms: AddClone(Slide) and InsertClone(Int32, Slide) to append the duplicate to the collection or insert it into a specific location in the collection.
Objects contained in the presentation can contain references to other objects. For example, Slide contains a reference to its ParentTemplate, Connector can contain a reference to drawings that it connects (BeginConnection and EndConnection), Action can contain a Target to Slide or CustomSlideShow that should be shown when the action is triggered.
When cloning multiple objects, the desired behavior is to maintain these references in the duplicated objects so that, for example, when Connector is cloned, and later when drawings that it connects are cloned, the duplicated Connector also connects duplicates of the original drawings that are connected.
This reference mapping between an original object and its duplicate is maintained by the instance of the CloneContext type. CloneContext instance is created with Create(PresentationDocument, PresentationDocument) static method. Each object can be cloned exactly once using the same CloneContext instance. If you want to clone the same object multiple times, each time a new CloneContext instance must be used. CloneContext is the most useful when cloning multiple objects one after another or when you want to change a behavior of the cloning operation.
Behavior of the cloning operation can be changed by using Set<T>(T, T) method. With this method you can make an explicit mapping between objects and cloning process will respect that mapping. For example, if you are cloning a Slide instance to another PresentationDocument default behavior would be that its parent template LayoutSlide and MasterSlide would also be cloned to another PresentationDocument. This behavior can be changed by making an explicit mapping from the LayoutSlide that is the ParentTemplate of the Slide that will be cloned to some LayoutSlide in the another PresentationDocument that we wish to be a ParentTemplate of the duplicated Slide. Explicit mapping with Set<T>(T, T) method can currently be made between following type (and their derivatives) instances: SlideObject, Drawing, TableStyle and CustomSlideShow.
Exceptions
- System.ArgumentNullException
source
or context
parameter is null.
- System.ArgumentException
source
is not associated with the SourcePresentation or the current collection is not associated with the DestinationPresentation of the context
.
All()
Gets all Drawings underneath this DrawingCollection.
Returns
- System.Collections.Generic.IEnumerable<Drawing>
All Drawings underneath this DrawingCollection.
Clear()
Removes all Drawings from the collection.
Contains(Drawing)
Determines whether a Drawing is in the collection.
Parameters
Returns
- System.Boolean
true if item
is found in the collection; otherwise, false.
Exceptions
- System.ArgumentNullException
item
is null.
GetEnumerator()
Returns an enumerator that iterates through the DrawingCollection.
public IEnumerator<Drawing> GetEnumerator()
Public Function GetEnumerator As IEnumerator(Of Drawing)
Returns
- System.Collections.Generic.IEnumerator<Drawing>
An System.Collections.Generic.IEnumerator<T> for the collection.
IndexOf(Drawing)
Searches for the specified Drawing and returns the zero-based index of the first occurrence within the entire collection.
Parameters
Returns
- System.Int32
The zero-based index of the first occurrence of item
within the entire collection, if found; otherwise, -1.
Insert(Int32, Drawing)
Inserts a Drawing to the collection at the specified index.
public void Insert(int index, Drawing item)
Public Sub Insert(index As Integer, item As Drawing)
Parameters
index
- System.Int32
The zero-based index at which Drawing should be inserted.
Exceptions
- System.ArgumentOutOfRangeException
index
is less than zero or index
is equal to or greater than Count.
- System.ArgumentNullException
item
is null.
- System.ArgumentException
item
is already contained in another DrawingCollection or it belongs to another SlideObject.
InsertClone<TDrawing>(Int32, TDrawing)
Inserts a clone of the source
TDrawing
to the collection at the specified index. Clone will be formatted using the destination theme.
public TDrawing InsertClone<TDrawing>(int index, TDrawing source)
where TDrawing : Drawing
Public Function InsertClone(Of TDrawing As Drawing)(index As Integer, source As TDrawing) As TDrawing
Parameters
index
- System.Int32
The zero-based index at which clone of the source
TDrawing
should be inserted.
source
- TDrawing
The source TDrawing
that will be cloned.
Returns
- TDrawing
A clone of the source
TDrawing
inserted to the collection.
Type Parameters
TDrawing
The type of the drawing.
Remarks
Cloning is a process when one or more objects from a presentation are duplicated. Objects can be duplicated to the same or another presentation and to the same or another location (for example, to another slide).
Cloning methods are available on collection types, such as SlideCollection, DrawingCollection, TextParagraphCollection or TextElementCollection. Exception is the PresentationDocument type that has a Clone() method used to make a deep clone of the entire presentation. Cloning methods available on the collection types have two forms: AddClone(Slide) and InsertClone(Int32, Slide) to append the duplicate to the collection or insert it into a specific location in the collection.
Objects contained in the presentation can contain references to other objects. For example, Slide contains a reference to its ParentTemplate, Connector can contain a reference to drawings that it connects (BeginConnection and EndConnection), Action can contain a Target to Slide or CustomSlideShow that should be shown when the action is triggered.
When cloning multiple objects, the desired behavior is to maintain these references in the duplicated objects so that, for example, when Connector is cloned, and later when drawings that it connects are cloned, the duplicated Connector also connects duplicates of the original drawings that are connected.
This reference mapping between an original object and its duplicate is maintained by the instance of the CloneContext type. CloneContext instance is created with Create(PresentationDocument, PresentationDocument) static method. Each object can be cloned exactly once using the same CloneContext instance. If you want to clone the same object multiple times, each time a new CloneContext instance must be used. CloneContext is the most useful when cloning multiple objects one after another or when you want to change a behavior of the cloning operation.
Behavior of the cloning operation can be changed by using Set<T>(T, T) method. With this method you can make an explicit mapping between objects and cloning process will respect that mapping. For example, if you are cloning a Slide instance to another PresentationDocument default behavior would be that its parent template LayoutSlide and MasterSlide would also be cloned to another PresentationDocument. This behavior can be changed by making an explicit mapping from the LayoutSlide that is the ParentTemplate of the Slide that will be cloned to some LayoutSlide in the another PresentationDocument that we wish to be a ParentTemplate of the duplicated Slide. Explicit mapping with Set<T>(T, T) method can currently be made between following type (and their derivatives) instances: SlideObject, Drawing, TableStyle and CustomSlideShow.
Exceptions
- System.ArgumentNullException
source
parameter is null.
InsertClone<TDrawing>(Int32, TDrawing, CloneContext)
Inserts a clone of the source
TDrawing
to the collection at the specified index.
public TDrawing InsertClone<TDrawing>(int index, TDrawing source, CloneContext context)
where TDrawing : Drawing
Public Function InsertClone(Of TDrawing As Drawing)(index As Integer, source As TDrawing, context As CloneContext) As TDrawing
Parameters
index
- System.Int32
The zero-based index at which clone of the source
TDrawing
should be inserted.
source
- TDrawing
The source TDrawing
that will be cloned.
context
- CloneContext
The context used to maintain reference mapping in multiple cloning operations.
Returns
- TDrawing
A clone of the source
TDrawing
inserted to the collection.
Type Parameters
TDrawing
The type of the drawing.
Remarks
Cloning is a process when one or more objects from a presentation are duplicated. Objects can be duplicated to the same or another presentation and to the same or another location (for example, to another slide).
Cloning methods are available on collection types, such as SlideCollection, DrawingCollection, TextParagraphCollection or TextElementCollection. Exception is the PresentationDocument type that has a Clone() method used to make a deep clone of the entire presentation. Cloning methods available on the collection types have two forms: AddClone(Slide) and InsertClone(Int32, Slide) to append the duplicate to the collection or insert it into a specific location in the collection.
Objects contained in the presentation can contain references to other objects. For example, Slide contains a reference to its ParentTemplate, Connector can contain a reference to drawings that it connects (BeginConnection and EndConnection), Action can contain a Target to Slide or CustomSlideShow that should be shown when the action is triggered.
When cloning multiple objects, the desired behavior is to maintain these references in the duplicated objects so that, for example, when Connector is cloned, and later when drawings that it connects are cloned, the duplicated Connector also connects duplicates of the original drawings that are connected.
This reference mapping between an original object and its duplicate is maintained by the instance of the CloneContext type. CloneContext instance is created with Create(PresentationDocument, PresentationDocument) static method. Each object can be cloned exactly once using the same CloneContext instance. If you want to clone the same object multiple times, each time a new CloneContext instance must be used. CloneContext is the most useful when cloning multiple objects one after another or when you want to change a behavior of the cloning operation.
Behavior of the cloning operation can be changed by using Set<T>(T, T) method. With this method you can make an explicit mapping between objects and cloning process will respect that mapping. For example, if you are cloning a Slide instance to another PresentationDocument default behavior would be that its parent template LayoutSlide and MasterSlide would also be cloned to another PresentationDocument. This behavior can be changed by making an explicit mapping from the LayoutSlide that is the ParentTemplate of the Slide that will be cloned to some LayoutSlide in the another PresentationDocument that we wish to be a ParentTemplate of the duplicated Slide. Explicit mapping with Set<T>(T, T) method can currently be made between following type (and their derivatives) instances: SlideObject, Drawing, TableStyle and CustomSlideShow.
Exceptions
- System.ArgumentNullException
source
or context
parameter is null.
- System.ArgumentException
source
is not associated with the SourcePresentation or the current collection is not associated with the DestinationPresentation of the context
.
Remove(Drawing)
Removes the first occurrence of a specific Drawing from the collection.
Parameters
Returns
- System.Boolean
true if item
is successfully removed; otherwise, false. This method also returns false if item
was not found in the original collection.
RemoveAt(Int32)
Removes the Drawing at the specified index of the collection.
Parameters
index
- System.Int32
The zero-based index of the Drawing to remove.
Exceptions
- System.ArgumentOutOfRangeException
index
is less than zero or index
is equal to or greater than Count.