VisualCollection Class
Definition
Represents an ordered collection of Visual objects.
public ref class VisualCollection sealed : System::Collections::ICollection
public sealed class VisualCollection : System.Collections.ICollection
type VisualCollection = class
interface ICollection
interface IEnumerable
Public NotInheritable Class VisualCollection
Implements ICollection
- Inheritance
-
VisualCollection
- Implements
Examples
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);
}
' 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
Inherits FrameworkElement
' Create a collection of child visual objects.
Private _children As VisualCollection
Public Sub New()
_children = New VisualCollection(Me)
_children.Add(CreateDrawingVisualRectangle())
_children.Add(CreateDrawingVisualText())
_children.Add(CreateDrawingVisualEllipses())
' Add the event handler for MouseLeftButtonUp.
AddHandler MouseLeftButtonUp, AddressOf MyVisualHost_MouseLeftButtonUp
End Sub
Note
For the complete sample, see Hit Test Using DrawingVisuals Sample.
Remarks
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.
Constructors
VisualCollection(Visual) |
Initializes a new instance of the VisualCollection class. |
Properties
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[Int32] |
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. |
Methods
Add(Visual) |
Appends a Visual to the end of the VisualCollection. |
Clear() |
Removes all elements from the VisualCollection. |
Contains(Visual) |
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 the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
IndexOf(Visual) |
Returns the zero-based index of the Visual. |
Insert(Int32, Visual) |
Inserts an element into the VisualCollection at the specified index. |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
Remove(Visual) |
Removes the specified Visual object from the VisualCollection. |
RemoveAt(Int32) |
Removes the visual object at the specified index in the VisualCollection. |
RemoveRange(Int32, Int32) |
Removes a range of visual objects from the VisualCollection. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Explicit Interface Implementations
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(). |
Extension Methods
Cast<TResult>(IEnumerable) |
Casts the elements of an IEnumerable to the specified type. |
OfType<TResult>(IEnumerable) |
Filters the elements of an IEnumerable based on a specified type. |
AsParallel(IEnumerable) |
Enables parallelization of a query. |
AsQueryable(IEnumerable) |
Converts an IEnumerable to an IQueryable. |