Export (0) Print
Expand All

Viewport2DVisual3D Class

Renders the 2-D children within the specified 3-D viewport bounds.

Namespace:  System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

'Declaration
<ContentPropertyAttribute("Visual")> _
Public NotInheritable Class Viewport2DVisual3D _
	Inherits Visual3D
<Viewport2DVisual3D>
  Visual
</Viewport2DVisual3D>

The Viewport2DVisual3D type exposes the following members.

  NameDescription
Public methodViewport2DVisual3DInitializes a new instance of the Viewport2DVisual3D class.
Top

  NameDescription
Public propertyCacheModeGets or sets a cached representation of the Viewport2DVisual3D.
Public propertyDependencyObjectTypeGets the DependencyObjectType that wraps the CLR type of this instance.  (Inherited from DependencyObject.)
Public propertyDispatcherGets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.)
Public propertyGeometryGets or sets the 3-D geometry for this Viewport2DVisual3D.
Public propertyHasAnimatedPropertiesGets a value that indicates whether this Visual3D has any animated properties. (Inherited from Visual3D.)
Public propertyIsSealedGets a value that indicates whether this instance is currently sealed (read-only). (Inherited from DependencyObject.)
Public propertyMaterialGets or sets the material that describes the appearance of the 3-D object.
Public propertyTransformGets or sets the transformation that is applied to the 3-D object. (Inherited from Visual3D.)
Public propertyVisualGets or sets the 2-D visual to be placed on the 3-D object.
Top

  NameDescription
Public attached propertyIsVisualHostMaterialGets or sets a value that specifies whether a material should be interactive.
Top

  NameDescription
Public methodApplyAnimationClock(DependencyProperty, AnimationClock)Applies the effect of a given AnimationClock to a given dependency property. (Inherited from Visual3D.)
Public methodApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)Applies the effect of a given AnimationClock to a given dependency property. The effect of the new AnimationClock on any current animations is determined by the value of the handoffBehavior parameter. (Inherited from Visual3D.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline)Initiates an animation sequence for the DependencyProperty object, based on the specified AnimationTimeline. (Inherited from Visual3D.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)Initiates an animation sequence for the DependencyProperty object, based on both the specified AnimationTimeline and HandoffBehavior. (Inherited from Visual3D.)
Public methodCheckAccessDetermines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Public methodClearValue(DependencyProperty)Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier. (Inherited from DependencyObject.)
Public methodClearValue(DependencyPropertyKey)Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey. (Inherited from DependencyObject.)
Public methodCoerceValueCoerces 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.)
Public methodEqualsDetermines whether a provided DependencyObject is equivalent to the current DependencyObject. (Inherited from DependencyObject.)
Public methodFindCommonVisualAncestorReturns the common ancestor of the visual object and another specified visual object. (Inherited from Visual3D.)
Public methodGetAnimationBaseValueRetrieves the base value of the specified DependencyProperty object. (Inherited from Visual3D.)
Public methodGetHashCodeGets a hash code for this DependencyObject. (Inherited from DependencyObject.)
Public methodStatic memberGetIsVisualHostMaterialGets the value of the IsVisualHostMaterial attached property for a specified UIElement.
Public methodGetLocalValueEnumeratorCreates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject. (Inherited from DependencyObject.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValueReturns the current effective value of a dependency property on this instance of a DependencyObject. (Inherited from DependencyObject.)
Public methodInvalidatePropertyRe-evaluates the effective value for the specified dependency property (Inherited from DependencyObject.)
Public methodIsAncestorOfDetermines whether the visual object is an ancestor of the descendant visual object. (Inherited from Visual3D.)
Public methodIsDescendantOfDetermines whether the visual object is a descendant of the ancestor visual object. (Inherited from Visual3D.)
Protected methodOnVisualChildrenChangedCalled when the Visual3DCollection of the visual object is modified. (Inherited from Visual3D.)
Protected methodOnVisualParentChangedCalled when the parent of the 3-D visual object is changed. (Inherited from Visual3D.)
Public methodReadLocalValueReturns the local value of a dependency property, if it exists. (Inherited from DependencyObject.)
Public methodSetCurrentValueSets the value of a dependency property without changing its value source. (Inherited from DependencyObject.)
Public methodStatic memberSetIsVisualHostMaterialSets the value of the IsVisualHostMaterial attached property to a specified element.
Public methodSetValue(DependencyProperty, Object)Sets the local value of a dependency property, specified by its dependency property identifier. (Inherited from DependencyObject.)
Public methodSetValue(DependencyPropertyKey, Object)Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property. (Inherited from DependencyObject.)
Protected methodShouldSerializePropertyReturns a value that indicates whether serialization processes should serialize the value for the provided dependency property. (Inherited from DependencyObject.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodTransformToAncestor(Visual)Returns a transform that can be used to transform coordinates from this Visual3D object to the specified Visual ancestor of the object. (Inherited from Visual3D.)
Public methodTransformToAncestor(Visual3D)Returns a transform that can be used to transform coordinates from this Visual3D object to the specified Visual3D ancestor of the object. (Inherited from Visual3D.)
Public methodTransformToDescendantReturns a transform that can be used to transform coordinates from this Visual3D object to the specified Visual3D descent object. (Inherited from Visual3D.)
Public methodVerifyAccessEnforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.)
Top

  NameDescription
Public fieldStatic memberCacheModePropertyIdentifies the CacheMode dependency property.
Public fieldStatic memberGeometryPropertyIdentifies the Geometry dependency property.
Public fieldStatic memberIsVisualHostMaterialPropertyIdentifies the IsVisualHostMaterial attached property.
Public fieldStatic memberMaterialPropertyIdentifies the Material dependency property.
Public fieldStatic memberVisualPropertyIdentifies the Visual dependency property.
Top

Viewport2DVisual3D enables you to place interactive 2-D content on a 3-D object. Its counterpart is the Viewport3DVisual class, which is a 2-D visual with 3-D children.

Viewport2DVisual3D is introduced in the .NET Framework version 3.5.

The following example shows how to place a button, a 2-D object, on a 3-D object. Note that you must set the IsVisualHostMaterial attached property on the material on which you wish to have the 2-D visual placed.

<Viewport3D>
    <Viewport3D.Camera>
        <PerspectiveCamera Position="0, 0, 4"/>
    </Viewport3D.Camera>

    <!-- Button on 3D -->
    <Viewport2DVisual3D>
        <!-- Give the plane a slight rotation -->
        <Viewport2DVisual3D.Transform>
            <RotateTransform3D>
                <RotateTransform3D.Rotation>
                    <AxisAngleRotation3D Angle="40" Axis="0, 1, 0" />
                </RotateTransform3D.Rotation>
            </RotateTransform3D>
        </Viewport2DVisual3D.Transform>

        <!-- The Geometry, Material, and Visual for the Viewport2DVisual3D -->
        <Viewport2DVisual3D.Geometry>
            <MeshGeometry3D Positions="-1,1,0 -1,-1,0 1,-1,0 1,1,0"
                            TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
        </Viewport2DVisual3D.Geometry>

        <Viewport2DVisual3D.Material>
            <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/>
        </Viewport2DVisual3D.Material>                               

        <Button>Hello, 3D</Button>
    </Viewport2DVisual3D>

    <!-- Lights -->
    <ModelVisual3D>
        <ModelVisual3D.Content>
            <DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
        </ModelVisual3D.Content>
    </ModelVisual3D>
</Viewport3D>

For the complete sample, see Interactive 2-D on 3-D Sample.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5 SP1, 3.0 SP1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, 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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft