ContainerVisual Class

Definition

Manages a collection of Visual objects.

public ref class ContainerVisual : System::Windows::Media::Visual
public class ContainerVisual : System.Windows.Media.Visual
type ContainerVisual = class
    inherit Visual
Public Class ContainerVisual
Inherits Visual
Inheritance
Derived

Examples

The following example shows how to create a ContainerVisual object that is used as the parent for two DrawingVisual objects. Objects that are added to the ContainerVisual object must be added in reverse z-order (bottom to top) to ensure they are rendering in the correct drawing order. In order for the visual tree to be enumerated correctly, the example provides overridden implementations of the GetVisualChild method and VisualChildrenCount property.

// 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 MyContainerVisualHost : FrameworkElement
{
    private ContainerVisual _containerVisual;

    public MyContainerVisualHost(DrawingVisual border, DrawingVisual text)
    {
        // Create a ContainerVisual to hold DrawingVisual children.
        _containerVisual = new ContainerVisual();

        // Add children to ContainerVisual in reverse z-order (bottom to top).
        _containerVisual.Children.Add(border);
        _containerVisual.Children.Add(text);

        // Create parent-child relationship with host visual and ContainerVisual.
        this.AddVisualChild(_containerVisual);
    }

    // Provide a required override for the VisualChildrenCount property.
    protected override int VisualChildrenCount
    {
        get { return _containerVisual == null ? 0 : 1; }
    }

    // Provide a required override for the GetVisualChild method.
    protected override Visual GetVisualChild(int index)
    {
        if (_containerVisual == null)
        {
            throw new ArgumentOutOfRangeException();
        }

        return _containerVisual;
    }
}
' 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 MyContainerVisualHost
    Inherits FrameworkElement
    Private _containerVisual As ContainerVisual

    Public Sub New(ByVal border As DrawingVisual, ByVal text As DrawingVisual)
        ' Create a ContainerVisual to hold DrawingVisual children.
        _containerVisual = New ContainerVisual()

        ' Add children to ContainerVisual in reverse z-order (bottom to top).
        _containerVisual.Children.Add(border)
        _containerVisual.Children.Add(text)

        ' Create parent-child relationship with host visual and ContainerVisual.
        Me.AddVisualChild(_containerVisual)
    End Sub

    ' Provide a required override for the VisualChildrenCount property.
    Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
        Get
            Return If(_containerVisual Is Nothing, 0, 1)
        End Get
    End Property

    ' Provide a required override for the GetVisualChild method.
    Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
        If _containerVisual Is Nothing Then
            Throw New ArgumentOutOfRangeException()
        End If

        Return _containerVisual
    End Function
End Class

Remarks

The ContainerVisual class is used as a container for a collection of Visual objects. The DrawingVisual class derives from the ContainerVisual class, such that the DrawingVisual class can also contain a collection of visual objects.

Constructors

ContainerVisual()

Creates a new instance of the ContainerVisual class.

Properties

BitmapEffect

Gets or sets a BitmapEffect value for the ContainerVisual.

BitmapEffectInput

Gets or sets a BitmapEffectInput value for the ContainerVisual.

CacheMode

Gets or sets a cached representation of the ContainerVisual.

Children

Gets the child collection of the ContainerVisual.

Clip

Gets or sets the clipping region of the ContainerVisual.

ContentBounds

Gets the bounding box for the contents of the ContainerVisual.

DependencyObjectType

Gets the DependencyObjectType that wraps the CLR type of this instance.

(Inherited from DependencyObject)
DescendantBounds

Gets the union of all the content bounding boxes for all of the descendants of the ContainerVisual, but not including the contents of the ContainerVisual.

Dispatcher

Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
Effect

Gets or sets the bitmap effect to apply to the ContainerVisual.

IsSealed

Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
Offset

Gets or sets the offset value of the ContainerVisual from its reference point.

Opacity

Gets or sets the opacity of the ContainerVisual, based on 0=transparent, 1=opaque.

OpacityMask

Gets or sets a brush that specifies a possible opacity mask for the ContainerVisual.

Parent

Gets the parent Visual for the ContainerVisual.

Transform

Gets or sets the transform that is applied to the ContainerVisual.

VisualBitmapEffect

Gets or sets the BitmapEffect value for the Visual.

(Inherited from Visual)
VisualBitmapEffectInput

Gets or sets the BitmapEffectInput value for the Visual.

(Inherited from Visual)
VisualBitmapScalingMode

Gets or sets the BitmapScalingMode for the Visual.

(Inherited from Visual)
VisualCacheMode

Gets or sets a cached representation of the Visual.

(Inherited from Visual)
VisualChildrenCount

Gets the number of children for the ContainerVisual.

VisualClearTypeHint

Gets or sets the ClearTypeHint that determines how ClearType is rendered in the Visual.

(Inherited from Visual)
VisualClip

Gets or sets the clip region of the Visual as a Geometry value.

(Inherited from Visual)
VisualEdgeMode

Gets or sets the edge mode of the Visual as an EdgeMode value.

(Inherited from Visual)
VisualEffect

Gets or sets the bitmap effect to apply to the Visual.

(Inherited from Visual)
VisualOffset

Gets or sets the offset value of the visual object.

(Inherited from Visual)
VisualOpacity

Gets or sets the opacity of the Visual.

(Inherited from Visual)
VisualOpacityMask

Gets or sets the Brush value that represents the opacity mask of the Visual.

(Inherited from Visual)
VisualParent

Gets the visual tree parent of the visual object.

(Inherited from Visual)
VisualScrollableAreaClip

Gets or sets a clipped scrollable area for the Visual.

(Inherited from Visual)
VisualTextHintingMode

Gets or sets the TextHintingMode of the Visual.

(Inherited from Visual)
VisualTextRenderingMode

Gets or sets the TextRenderingMode of the Visual.

(Inherited from Visual)
VisualTransform

Gets or sets the Transform value for the Visual.

(Inherited from Visual)
VisualXSnappingGuidelines

Gets or sets the x-coordinate (vertical) guideline collection.

(Inherited from Visual)
VisualYSnappingGuidelines

Gets or sets the y-coordinate (horizontal) guideline collection.

(Inherited from Visual)
XSnappingGuidelines

Gets or sets the X (horizontal) guideline for the ContainerVisual.

YSnappingGuidelines

Gets or sets the Y (vertical) guideline for the ContainerVisual.

Methods

AddVisualChild(Visual)

Defines the parent-child relationship between two visuals.

(Inherited from Visual)
CheckAccess()

Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty)

Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey)

Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty)

Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
Equals(Object)

Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
FindCommonVisualAncestor(DependencyObject)

Returns the common ancestor of two visual objects.

(Inherited from Visual)
GetHashCode()

Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator()

Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty)

Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
GetVisualChild(Int32)

Returns a specified child Visual for the parent ContainerVisual.

HitTest(HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

Initiates a hit test on the ContainerVisual by using the HitTestFilterCallback and HitTestResultCallback objects.

HitTest(Point)

Returns the top-most visual object of a hit test by specifying a Point.

HitTestCore(GeometryHitTestParameters)

Determines whether a geometry value is within the bounds of the visual object.

(Inherited from Visual)
HitTestCore(PointHitTestParameters)

Determines whether a point coordinate value is within the bounds of the visual object.

(Inherited from Visual)
InvalidateProperty(DependencyProperty)

Re-evaluates the effective value for the specified dependency property.

(Inherited from DependencyObject)
IsAncestorOf(DependencyObject)

Determines whether the visual object is an ancestor of the descendant visual object.

(Inherited from Visual)
IsDescendantOf(DependencyObject)

Determines whether the visual object is a descendant of the ancestor visual object.

(Inherited from Visual)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnDpiChanged(DpiScale, DpiScale)

Called when the DPI at which this View is rendered changes.

(Inherited from Visual)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

Called when the VisualCollection of the visual object is modified.

(Inherited from Visual)
OnVisualParentChanged(DependencyObject)

Called when the parent of the visual object is changed.

(Inherited from Visual)
PointFromScreen(Point)

Converts a Point in screen coordinates into a Point that represents the current coordinate system of the Visual.

(Inherited from Visual)
PointToScreen(Point)

Converts a Point that represents the current coordinate system of the Visual into a Point in screen coordinates.

(Inherited from Visual)
ReadLocalValue(DependencyProperty)

Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
RemoveVisualChild(Visual)

Removes the parent-child relationship between two visuals.

(Inherited from Visual)
SetCurrentValue(DependencyProperty, Object)

Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object)

Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object)

Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
TransformToAncestor(Visual)

Returns a transform that can be used to transform coordinates from the Visual to the specified Visual ancestor of the visual object.

(Inherited from Visual)
TransformToAncestor(Visual3D)

Returns a transform that can be used to transform coordinates from the Visual to the specified Visual3D ancestor of the visual object.

(Inherited from Visual)
TransformToDescendant(Visual)

Returns a transform that can be used to transform coordinates from the Visual to the specified visual object descendant.

(Inherited from Visual)
TransformToVisual(Visual)

Returns a transform that can be used to transform coordinates from the Visual to the specified visual object.

(Inherited from Visual)
VerifyAccess()

Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Applies to