VisualCollection Class
Represents an ordered collection of Visual objects.
Namespace: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
The VisualCollection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Capacity | Gets or sets the number of elements that the VisualCollection can contain. |
![]() | Count | Gets the number of elements in the collection. |
![]() | IsReadOnly | Gets a value that indicates whether the VisualCollection is read-only. |
![]() | IsSynchronized | Gets a value that indicates whether access to the VisualCollection is synchronized (thread-safe). |
![]() | Item | Gets or sets the Visual that is stored at the zero-based index of the VisualCollection. |
![]() | SyncRoot | Gets an object that can be used to synchronize access to the VisualCollection. |
| Name | Description | |
|---|---|---|
![]() | Add | Appends a Visual to the end of the VisualCollection. |
![]() | Clear | Removes all elements from the VisualCollection. |
![]() | Contains | Returns a Boolean value that indicates whether the specified Visual is contained in the collection. |
![]() | CopyTo(Array, Int32) | Copies the items in the collection to an array, starting at a specific array index. |
![]() | CopyTo(Visual[], Int32) | Copies the current collection into the passed Visual array. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetEnumerator | Retrieves an enumerator that can iterate through the VisualCollection. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IndexOf | Returns the zero-based index of the Visual. |
![]() | Insert | Inserts an element into the VisualCollection at the specified index. |
![]() | Remove | Removes the specified Visual object from the VisualCollection. |
![]() | RemoveAt | Removes the visual object at the specified index in the VisualCollection. |
![]() | RemoveRange | Removes a range of visual objects from the VisualCollection. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | AsParallel | Enables parallelization of a query. (Defined by ParallelEnumerable.) |
![]() | AsQueryable | Converts an IEnumerable to an IQueryable. (Defined by Queryable.) |
![]() | Cast<TResult> | Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.) |
![]() | OfType<TResult> | Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IEnumerable.GetEnumerator | This member supports the WPF infrastructure and is not intended to be used directly from your code. For a description of this member, see GetEnumerator. |
A VisualCollection has implied context affinity. If a procedure attempts to access the VisualCollection from a different context than the context of the owning ContainerVisual, an exception is thrown.
The following example shows how to create a VisualCollection and add members to it.
// Create a host visual derived from the FrameworkElement class. // This class provides layout, event handling, and container support for // the child visual objects. public class MyVisualHost : FrameworkElement { // Create a collection of child visual objects. private VisualCollection _children; public MyVisualHost() { _children = new VisualCollection(this); _children.Add(CreateDrawingVisualRectangle()); _children.Add(CreateDrawingVisualText()); _children.Add(CreateDrawingVisualEllipses()); // Add the event handler for MouseLeftButtonUp. this.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(MyVisualHost_MouseLeftButtonUp); }
Note |
|---|
For the complete sample, see Hit Test Using DrawingVisuals Sample. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.





Note