UIElement3D Class

Definition

UIElement3D is a base class for WPF core level implementations building on Windows Presentation Foundation (WPF) elements and basic presentation characteristics.

public ref class UIElement3D abstract : System::Windows::Media::Media3D::Visual3D, System::Windows::IInputElement
public abstract class UIElement3D : System.Windows.Media.Media3D.Visual3D, System.Windows.IInputElement
type UIElement3D = class
    inherit Visual3D
    interface IInputElement
Public MustInherit Class UIElement3D
Inherits Visual3D
Implements IInputElement
Inheritance
Derived
Implements

Examples

The following example shows how to derive from the UIElement3D class to create a Sphere class:

public class Sphere : UIElement3D
{
    // OnUpdateModel is called in response to InvalidateModel and provides
    // a place to set the Visual3DModel property.
    // 
    // Setting Visual3DModel does not provide parenting information, which
    // is needed for data binding, styling, and other features. Similarly, creating render data
    // in 2-D does not provide the connections either.
    // 
    // To get around this, we create a Model dependency property which
    // sets this value.  The Model DP then causes the correct connections to occur
    // and the above features to work correctly.
    // 
    // In this update model we retessellate the sphere based on the current
    // dependency property values, and then set it as the model.  The brush
    // color is blue by default, but the code can easily be updated to let
    // this be set by the user.

    protected override void OnUpdateModel()
    {
        GeometryModel3D model = new GeometryModel3D();

        model.Geometry = Tessellate(ThetaDiv, PhiDiv, Radius);
        model.Material = new DiffuseMaterial(System.Windows.Media.Brushes.Blue);

        Model = model;
    }

    // The Model property for the sphere
    private static readonly DependencyProperty ModelProperty =
        DependencyProperty.Register("Model",
                                    typeof(Model3D),
                                    typeof(Sphere),
                                    new PropertyMetadata(ModelPropertyChanged));

    private static void ModelPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        Sphere s = (Sphere)d;
        s.Visual3DModel = s.Model;
    }

    private Model3D Model
    {
        get
        {
            return (Model3D)GetValue(ModelProperty);
        }

        set
        {
            SetValue(ModelProperty, value);
        }
    }

    // The number of divisions to make in the theta direction on the sphere
    public static readonly DependencyProperty ThetaDivProperty =
        DependencyProperty.Register("ThetaDiv",
                                    typeof(int),
                                    typeof(Sphere),
                                    new PropertyMetadata(15, ThetaDivPropertyChanged));

    private static void ThetaDivPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        Sphere s = (Sphere)d;
        s.InvalidateModel();
    }

    public int ThetaDiv
    {
        get
        {
            return (int)GetValue(ThetaDivProperty);
        }

        set
        {
            SetValue(ThetaDivProperty, value);
        }
    }

    // The number of divisions to make in the phi direction on the sphere
    public static readonly DependencyProperty PhiDivProperty =
        DependencyProperty.Register("PhiDiv",
                                    typeof(int),
                                    typeof(Sphere),
                                    new PropertyMetadata(15, PhiDivPropertyChanged));

    private static void PhiDivPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        Sphere s = (Sphere)d;
        s.InvalidateModel();
    }

    public int PhiDiv
    {
        get
        {
            return (int)GetValue(PhiDivProperty);
        }

        set
        {
            SetValue(PhiDivProperty, value);
        }
    }

    // The radius of the sphere
    public static readonly DependencyProperty RadiusProperty =
        DependencyProperty.Register("Radius",
                                    typeof(double),
                                    typeof(Sphere),
                                    new PropertyMetadata(1.0, RadiusPropertyChanged));

    private static void RadiusPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        Sphere s = (Sphere)d;
        s.InvalidateModel();
    }

    public double Radius
    {
        get
        {
            return (double)GetValue(RadiusProperty);
        }

        set
        {
            SetValue(RadiusProperty, value);
        }
    }

    // Private helper methods
    private static Point3D GetPosition(double theta, double phi, double radius)
    {
        double x = radius * Math.Sin(theta) * Math.Sin(phi);
        double y = radius * Math.Cos(phi);
        double z = radius * Math.Cos(theta) * Math.Sin(phi);

        return new Point3D(x, y, z);
    }

    private static Vector3D GetNormal(double theta, double phi)
    {
        return (Vector3D)GetPosition(theta, phi, 1.0);
    }

    private static double DegToRad(double degrees)
    {
        return (degrees / 180.0) * Math.PI;
    }

    private static System.Windows.Point GetTextureCoordinate(double theta, double phi)
    {
        System.Windows.Point p = new System.Windows.Point(theta / (2 * Math.PI),
                            phi / (Math.PI));

        return p;
    }

    // Tesselates the sphere and returns a MeshGeometry3D representing the 
    // tessellation based on the given parameters
    internal static MeshGeometry3D Tessellate(int tDiv, int pDiv, double radius)
    {            
        double dt = DegToRad(360.0) / tDiv;
        double dp = DegToRad(180.0) / pDiv;

        MeshGeometry3D mesh = new MeshGeometry3D();

        for (int pi = 0; pi <= pDiv; pi++)
        {
            double phi = pi * dp;

            for (int ti = 0; ti <= tDiv; ti++)
            {
                // we want to start the mesh on the x axis
                double theta = ti * dt;

                mesh.Positions.Add(GetPosition(theta, phi, radius));
                mesh.Normals.Add(GetNormal(theta, phi));
                mesh.TextureCoordinates.Add(GetTextureCoordinate(theta, phi));
            }
        }

        for (int pi = 0; pi < pDiv; pi++)
        {
            for (int ti = 0; ti < tDiv; ti++)
            {
                int x0 = ti;
                int x1 = (ti + 1);
                int y0 = pi * (tDiv + 1);
                int y1 = (pi + 1) * (tDiv + 1);

                mesh.TriangleIndices.Add(x0 + y0);
                mesh.TriangleIndices.Add(x0 + y1);
                mesh.TriangleIndices.Add(x1 + y0);

                mesh.TriangleIndices.Add(x1 + y0);
                mesh.TriangleIndices.Add(x0 + y1);
                mesh.TriangleIndices.Add(x1 + y1);
            }
        }

        mesh.Freeze();
        return mesh;
    }
}
Public Class Sphere
    Inherits UIElement3D
    ' OnUpdateModel is called in response to InvalidateModel and provides
    ' a place to set the Visual3DModel property.
    ' 
    ' Setting Visual3DModel does not provide parenting information, which
    ' is needed for data binding, styling, and other features. Similarly, creating render data
    ' in 2-D does not provide the connections either.
    ' 
    ' To get around this, we create a Model dependency property which
    ' sets this value.  The Model DP then causes the correct connections to occur
    ' and the above features to work correctly.
    ' 
    ' In this update model we retessellate the sphere based on the current
    ' dependency property values, and then set it as the model.  The brush
    ' color is blue by default, but the code can easily be updated to let
    ' this be set by the user.

    Protected Overrides Sub OnUpdateModel()
        Dim model As New GeometryModel3D()

        model.Geometry = Tessellate(ThetaDiv, PhiDiv, Radius)
        model.Material = New DiffuseMaterial(System.Windows.Media.Brushes.Blue)

        Me.Model = model
    End Sub

    ' The Model property for the sphere
    Private Shared ReadOnly ModelProperty As DependencyProperty = DependencyProperty.Register("Model", GetType(Model3D), GetType(Sphere), New PropertyMetadata(AddressOf ModelPropertyChanged))

    Private Shared Sub ModelPropertyChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
        Dim s As Sphere = CType(d, Sphere)
        s.Visual3DModel = s.Model
    End Sub

    Private Property Model() As Model3D
        Get
            Return CType(GetValue(ModelProperty), Model3D)
        End Get

        Set(ByVal value As Model3D)
            SetValue(ModelProperty, value)
        End Set
    End Property

    ' The number of divisions to make in the theta direction on the sphere
    Public Shared ReadOnly ThetaDivProperty As DependencyProperty = DependencyProperty.Register("ThetaDiv", GetType(Integer), GetType(Sphere), New PropertyMetadata(15, AddressOf ThetaDivPropertyChanged))

    Private Shared Sub ThetaDivPropertyChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
        Dim s As Sphere = CType(d, Sphere)
        s.InvalidateModel()
    End Sub

    Public Property ThetaDiv() As Integer
        Get
            Return CInt(GetValue(ThetaDivProperty))
        End Get

        Set(ByVal value As Integer)
            SetValue(ThetaDivProperty, value)
        End Set
    End Property

    ' The number of divisions to make in the phi direction on the sphere
    Public Shared ReadOnly PhiDivProperty As DependencyProperty = DependencyProperty.Register("PhiDiv", GetType(Integer), GetType(Sphere), New PropertyMetadata(15, AddressOf PhiDivPropertyChanged))

    Private Shared Sub PhiDivPropertyChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
        Dim s As Sphere = CType(d, Sphere)
        s.InvalidateModel()
    End Sub

    Public Property PhiDiv() As Integer
        Get
            Return CInt(GetValue(PhiDivProperty))
        End Get

        Set(ByVal value As Integer)
            SetValue(PhiDivProperty, value)
        End Set
    End Property

    ' The radius of the sphere
    Public Shared ReadOnly RadiusProperty As DependencyProperty = DependencyProperty.Register("Radius", GetType(Double), GetType(Sphere), New PropertyMetadata(1.0, AddressOf RadiusPropertyChanged))

    Private Shared Sub RadiusPropertyChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
        Dim s As Sphere = CType(d, Sphere)
        s.InvalidateModel()
    End Sub

    Public Property Radius() As Double
        Get
            Return CDbl(GetValue(RadiusProperty))
        End Get

        Set(ByVal value As Double)
            SetValue(RadiusProperty, value)
        End Set
    End Property

    ' Private helper methods
    Private Shared Function GetPosition(ByVal theta As Double, ByVal phi As Double, ByVal radius As Double) As Point3D
        Dim x As Double = radius * Math.Sin(theta) * Math.Sin(phi)
        Dim y As Double = radius * Math.Cos(phi)
        Dim z As Double = radius * Math.Cos(theta) * Math.Sin(phi)

        Return New Point3D(x, y, z)
    End Function

    Private Shared Function GetNormal(ByVal theta As Double, ByVal phi As Double) As Vector3D
        Return CType(GetPosition(theta, phi, 1.0), Vector3D)
    End Function

    Private Shared Function DegToRad(ByVal degrees As Double) As Double
        Return (degrees / 180.0) * Math.PI
    End Function

    Private Shared Function GetTextureCoordinate(ByVal theta As Double, ByVal phi As Double) As System.Windows.Point
        Dim p As New System.Windows.Point(theta / (2 * Math.PI), phi / (Math.PI))

        Return p
    End Function

    ' Tesselates the sphere and returns a MeshGeometry3D representing the 
    ' tessellation based on the given parameters
    Friend Shared Function Tessellate(ByVal tDiv As Integer, ByVal pDiv As Integer, ByVal radius As Double) As MeshGeometry3D
        Dim dt As Double = DegToRad(360.0) / tDiv
        Dim dp As Double = DegToRad(180.0) / pDiv

        Dim mesh As New MeshGeometry3D()

        For pi As Integer = 0 To pDiv
            Dim phi As Double = pi * dp

            For ti As Integer = 0 To tDiv
                ' we want to start the mesh on the x axis
                Dim theta As Double = ti * dt

                mesh.Positions.Add(GetPosition(theta, phi, radius))
                mesh.Normals.Add(GetNormal(theta, phi))
                mesh.TextureCoordinates.Add(GetTextureCoordinate(theta, phi))
            Next ti
        Next pi

        For pi As Integer = 0 To pDiv - 1
            For ti As Integer = 0 To tDiv - 1
                Dim x0 As Integer = ti
                Dim x1 As Integer = (ti + 1)
                Dim y0 As Integer = pi * (tDiv + 1)
                Dim y1 As Integer = (pi + 1) * (tDiv + 1)

                mesh.TriangleIndices.Add(x0 + y0)
                mesh.TriangleIndices.Add(x0 + y1)
                mesh.TriangleIndices.Add(x1 + y0)

                mesh.TriangleIndices.Add(x1 + y0)
                mesh.TriangleIndices.Add(x0 + y1)
                mesh.TriangleIndices.Add(x1 + y1)
            Next ti
        Next pi

        mesh.Freeze()
        Return mesh
    End Function
End Class

For the complete sample, see UIElement3D Sphere Sample.

Remarks

UIElement3D is an abstract base class from which you can derive classes to represent specific 3D elements.

Much of the input, focusing, and eventing behavior for 3D elements in general is defined in the UIElement3D class. This includes the events for keyboard, mouse, and stylus input, and related status properties. Many of these events are routed events, and many of the input-related events have both a bubbling routing version as well as a tunneling version of the event. These paired events are typically the events of greatest interest to control authors.

UIElement3D also includes APIs that relate to the WPF event model, including methods that can raise specified routed events that are sourced from an element instance.

A UIElement3D has the following capabilities that are specifically defined by the UIElement3D class:

  • Can respond to user input (including control of where input is sent via handling of event routing or routing of commands).

  • Can raise routed events that travel a route through the logical element tree.

Important

Visibility state affects all input handling by that element. Elements that are not visible do not participate in hit testing and do not receive input events, even if the mouse is over the bounds of where the element would be if were visible.

Unlike the UIElement class, the UIElement3D class does not include layout. Therefore, the UIElement3D class does not include Measure or Arrange methods.

A class that derives from UIElement3D and maintains its own collection of Visual3D objects by overriding GetVisual3DChild and Visual3DChildrenCount must still pass new Visual3D objects to AddVisual3DChild.

UIElement3D is introduced in the .NET Framework version 3.5. For more information, see Versions and Dependencies.

Constructors

UIElement3D()

Initializes a new instance of the UIElement3D class.

Fields

AllowDropProperty

Identifies the AllowDrop dependency property.

AreAnyTouchesCapturedProperty

Identifies the AreAnyTouchesCaptured dependency property.

AreAnyTouchesCapturedWithinProperty

Identifies the AreAnyTouchesCapturedWithin dependency property.

AreAnyTouchesDirectlyOverProperty

Identifies the AreAnyTouchesDirectlyOver dependency property.

AreAnyTouchesOverProperty

Identifies the AreAnyTouchesOver dependency property.

DragEnterEvent

Identifies the DragEnter routed event.

DragLeaveEvent

Identifies the DragLeave routed event.

DragOverEvent

Identifies the DragOver routed event.

DropEvent

Identifies the Drop routed event.

FocusableProperty

Identifies the Focusable dependency property.

GiveFeedbackEvent

Identifies the GiveFeedback routed event.

GotFocusEvent

Identifies the GotFocus routed event.

GotKeyboardFocusEvent

Identifies the GotKeyboardFocus routed event.

GotMouseCaptureEvent

Identifies the GotMouseCapture routed event.

GotStylusCaptureEvent

Identifies the GotStylusCapture routed event.

GotTouchCaptureEvent

Identifies the GotTouchCapture routed event.

IsEnabledProperty

Identifies the IsEnabled dependency property.

IsFocusedProperty

Identifies the IsFocused dependency property.

IsHitTestVisibleProperty

Identifies the IsHitTestVisible dependency property.

IsKeyboardFocusedProperty

Identifies the IsKeyboardFocused dependency property.

IsKeyboardFocusWithinProperty

Identifies the IsKeyboardFocusWithin dependency property.

IsMouseCapturedProperty

Identifies the IsMouseCaptured dependency property.

IsMouseCaptureWithinProperty

Identifies the IsMouseCaptureWithin dependency property.

IsMouseDirectlyOverProperty

Identifies the IsMouseDirectlyOver dependency property.

IsMouseOverProperty

Identifies the IsMouseOver dependency property.

IsStylusCapturedProperty

Identifies the IsStylusCaptured dependency property.

IsStylusCaptureWithinProperty

Identifies the IsStylusCaptureWithin dependency property.

IsStylusDirectlyOverProperty

Identifies the IsStylusDirectlyOver dependency property.

IsStylusOverProperty

Identifies the IsStylusOver dependency property.

IsVisibleProperty

Identifies the IsVisible dependency property.

KeyDownEvent

Identifies the KeyDown routed event.

KeyUpEvent

Identifies the KeyUp routed event.

LostFocusEvent

Identifies the LostFocus routed event.

LostKeyboardFocusEvent

Identifies the LostKeyboardFocus routed event.

LostMouseCaptureEvent

Identifies the LostMouseCapture routed event.

LostStylusCaptureEvent

Identifies the LostStylusCapture routed event.

LostTouchCaptureEvent

Identifies the LostTouchCapture routed event.

MouseDownEvent

Identifies the MouseDown routed event.

MouseEnterEvent

Identifies the MouseEnter routed event.

MouseLeaveEvent

Identifies the MouseLeave routed event.

MouseLeftButtonDownEvent

Identifies the MouseLeftButtonDown routed event.

MouseLeftButtonUpEvent

Identifies the MouseLeftButtonUp routed event.

MouseMoveEvent

Identifies the MouseMove routed event.

MouseRightButtonDownEvent

Identifies the MouseRightButtonDown routed event.

MouseRightButtonUpEvent

Identifies the MouseRightButtonUp routed event.

MouseUpEvent

Identifies the MouseUp routed event.

MouseWheelEvent

Identifies the MouseWheel routed event.

PreviewDragEnterEvent

Identifies the PreviewDragEnter routed event.

PreviewDragLeaveEvent

Identifies the PreviewDragLeave routed event.

PreviewDragOverEvent

Identifies the PreviewDragOver routed event.

PreviewDropEvent

Identifies the PreviewDrop routed event.

PreviewGiveFeedbackEvent

Identifies the PreviewGiveFeedback routed event.

PreviewGotKeyboardFocusEvent

Identifies the PreviewGotKeyboardFocus routed event.

PreviewKeyDownEvent

Identifies the PreviewKeyDown routed event.

PreviewKeyUpEvent

Identifies the PreviewKeyUp routed event.

PreviewLostKeyboardFocusEvent

Identifies the PreviewLostKeyboardFocus routed event.

PreviewMouseDownEvent

Identifies the PreviewMouseDown routed event.

PreviewMouseLeftButtonDownEvent

Identifies the PreviewMouseLeftButtonDown routed event.

PreviewMouseLeftButtonUpEvent

Identifies the PreviewMouseLeftButtonUp routed event.

PreviewMouseMoveEvent

Identifies the PreviewMouseMove routed event.

PreviewMouseRightButtonDownEvent

Identifies the PreviewMouseRightButtonDown routed event.

PreviewMouseRightButtonUpEvent

Identifies the PreviewMouseRightButtonUp routed event.

PreviewMouseUpEvent

Identifies the PreviewMouseUp routed event.

PreviewMouseWheelEvent

Identifies the PreviewMouseWheel routed event.

PreviewQueryContinueDragEvent

Identifies the PreviewQueryContinueDrag routed event.

PreviewStylusButtonDownEvent

Identifies the PreviewStylusButtonDown routed event.

PreviewStylusButtonUpEvent

Identifies the PreviewStylusButtonUp routed event.

PreviewStylusDownEvent

Identifies the PreviewStylusDown routed event.

PreviewStylusInAirMoveEvent

Identifies the PreviewStylusInAirMove routed event.

PreviewStylusInRangeEvent

Identifies the PreviewStylusInRange routed event.

PreviewStylusMoveEvent

Identifies the PreviewStylusMove routed event.

PreviewStylusOutOfRangeEvent

Identifies the PreviewStylusOutOfRange routed event.

PreviewStylusSystemGestureEvent

Identifies the PreviewStylusSystemGesture routed event.

PreviewStylusUpEvent

Identifies the PreviewStylusUp routed event.

PreviewTextInputEvent

Identifies the PreviewTextInput routed event.

PreviewTouchDownEvent

Identifies the PreviewTouchDown routed event.

PreviewTouchMoveEvent

Identifies the PreviewTouchMove routed event.

PreviewTouchUpEvent

Identifies the PreviewTouchUp routed event.

QueryContinueDragEvent

Identifies the QueryContinueDrag routed event.

QueryCursorEvent

Identifies the QueryCursor routed event.

StylusButtonDownEvent

Identifies the StylusButtonDown routed event.

StylusButtonUpEvent

Identifies the StylusButtonUp routed event.

StylusDownEvent

Identifies the StylusDown routed event.

StylusEnterEvent

Identifies the StylusEnter routed event.

StylusInAirMoveEvent

Identifies the StylusInAirMove routed event.

StylusInRangeEvent

Identifies the StylusInRange routed event.

StylusLeaveEvent

Identifies the StylusLeave routed event.

StylusMoveEvent

Identifies the StylusMove routed event.

StylusOutOfRangeEvent

Identifies the StylusOutOfRange routed event.

StylusSystemGestureEvent

Identifies the StylusSystemGesture routed event.

StylusUpEvent

Identifies the StylusUp routed event.

TextInputEvent

Identifies the TextInput routed event.

TouchDownEvent

Identifies the TouchDown routed event.

TouchEnterEvent

Identifies the TouchEnter routed event.

TouchLeaveEvent

Identifies the TouchLeave routed event.

TouchMoveEvent

Identifies the TouchMove routed event.

TouchUpEvent

Identifies the TouchUp routed event.

VisibilityProperty

Identifies the Visibility dependency property.

Properties

AllowDrop

Gets or sets a value indicating whether this element can be used as the target of a drag-and-drop operation.

AreAnyTouchesCaptured

Gets a value that indicates whether at least one touch is captured to this element.

AreAnyTouchesCapturedWithin

Gets a value that indicates whether at least one touch is captured to this element or to any child elements in its visual tree.

AreAnyTouchesDirectlyOver

Gets a value that indicates whether at least one touch is pressed over this element.

AreAnyTouchesOver

Gets a value that indicates whether at least one touch is pressed over this element or any child elements in its visual tree.

CommandBindings

Gets a collection of CommandBinding objects associated with this element.

DependencyObjectType

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

(Inherited from DependencyObject)
Dispatcher

Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
Focusable

Gets or sets a value that indicates whether the element can receive focus.

HasAnimatedProperties

Gets a value that indicates whether this Visual3D has any animated properties.

(Inherited from Visual3D)
InputBindings

Gets the collection of input bindings associated with this element.

IsEnabled

Gets or sets a value indicating whether this element is enabled in the user interface (UI).

IsEnabledCore

Gets a value that becomes the return value of IsEnabled in derived classes.

IsFocused

Gets a value that determines whether this element has logical focus.

IsHitTestVisible

Gets or sets a value that declares whether this element can possibly be returned as a hit test result from some portion of its rendered content.

IsInputMethodEnabled

Gets a value indicating whether an input method system, such as an Input Method Editor (IME), is enabled for processing the input to this element.

IsKeyboardFocused

Gets a value indicating whether this element has keyboard focus.

IsKeyboardFocusWithin

Gets a value indicating whether keyboard focus is anywhere within the element or its visual tree child elements.

IsMouseCaptured

Gets a value indicating whether the mouse is captured to this element.

IsMouseCaptureWithin

Gets a value that determines whether mouse capture is held by this element or by child elements in its visual tree.

IsMouseDirectlyOver

Gets a value that indicates whether the position of the mouse pointer corresponds to hit test results, which take element compositing into account.

IsMouseOver

Gets a value indicating whether the mouse pointer is located over this element (including child elements in the visual tree).

IsSealed

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

(Inherited from DependencyObject)
IsStylusCaptured

Gets a value indicating whether the stylus is captured by this element.

IsStylusCaptureWithin

Gets a value that determines whether stylus capture is held by this element, or an element within the element bounds and its visual tree.

IsStylusDirectlyOver

Gets a value that indicates whether the stylus position corresponds to hit test results, which take element compositing into account.

IsStylusOver

Gets a value indicating whether the stylus cursor is located over this element (including visual child elements).

IsVisible

Gets a value indicating whether this element is visible in the user interface (UI).

TouchesCaptured

Gets all touch devices that are captured to this element.

TouchesCapturedWithin

Gets all touch devices that are captured to this element or any child elements in its visual tree.

TouchesDirectlyOver

Gets all touch devices that are over this element.

TouchesOver

Gets all touch devices that are over this element or any child elements in its visual tree.

Transform

Gets or sets the transformation that is applied to the 3-D object.

(Inherited from Visual3D)
Visibility

Gets or sets the user interface (UI) visibility of this element.

Visual3DChildrenCount

Gets the number of child elements for the Visual3D object.

(Inherited from Visual3D)
Visual3DModel

Gets or sets the Model3D object to render.

(Inherited from Visual3D)

Methods

AddHandler(RoutedEvent, Delegate)

Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element.

AddHandler(RoutedEvent, Delegate, Boolean)

Adds a routed event handler for a specified routed event, adding the handler to the handler collection on the current element. Specify handledEventsToo as true to have the provided handler be invoked for routed event that had already been marked as handled by another element along the event route.

AddToEventRoute(EventRoute, RoutedEventArgs)

Adds handlers to the specified EventRoute for the current UIElement3D event handler collection.

AddVisual3DChild(Visual3D)

Defines the parent-child relationship between two 3-D visuals.

(Inherited from Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Applies the effect of a given AnimationClock to a given dependency property.

(Inherited from Visual3D)
ApplyAnimationClock(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)
BeginAnimation(DependencyProperty, AnimationTimeline)

Initiates an animation sequence for the DependencyProperty object, based on the specified AnimationTimeline.

(Inherited from Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Initiates an animation sequence for the DependencyProperty object, based on both the specified AnimationTimeline and HandoffBehavior.

(Inherited from Visual3D)
CaptureMouse()

Attempts to force capture of the mouse to this element.

CaptureStylus()

Attempts to force capture of the stylus to this element.

CaptureTouch(TouchDevice)

Attempts to force capture of a touch to this element.

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 the visual object and another specified visual object.

(Inherited from Visual3D)
Focus()

Attempts to set the logical focus on this element.

GetAnimationBaseValue(DependencyProperty)

Retrieves the base value of the specified DependencyProperty object.

(Inherited from Visual3D)
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)
GetUIParentCore()

When overridden in a derived class, returns an alternative user interface (UI) parent for this element if no visual parent exists.

GetValue(DependencyProperty)

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

(Inherited from DependencyObject)
GetVisual3DChild(Int32)

Returns the specified Visual3D in the parent Visual3DCollection.

(Inherited from Visual3D)
InvalidateModel()

Invalidates the model that represents the element.

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 Visual3D)
IsDescendantOf(DependencyObject)

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

(Inherited from Visual3D)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MoveFocus(TraversalRequest)

Attempts to move focus from this element to another element. The direction to move focus is specified by a guidance direction, which is interpreted within the organization of the visual parent for this element.

OnAccessKey(AccessKeyEventArgs)

Provides class handling for when an access key that is meaningful for this element is invoked.

OnCreateAutomationPeer()

Returns class-specific AutomationPeer implementations for the Windows Presentation Foundation (WPF) infrastructure.

OnDragEnter(DragEventArgs)

Invoked when an unhandled DragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnDragLeave(DragEventArgs)

Invoked when an unhandled DragLeave attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnDragOver(DragEventArgs)

Invoked when an unhandled DragOver attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnDrop(DragEventArgs)

Invoked when an unhandled Drop attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnGiveFeedback(GiveFeedbackEventArgs)

Invoked when an unhandled GiveFeedback attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnGotFocus(RoutedEventArgs)

Raises the GotFocus routed event by using the event data provided.

OnGotKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled GotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnGotMouseCapture(MouseEventArgs)

Invoked when an unhandled GotMouseCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnGotStylusCapture(StylusEventArgs)

Invoked when an unhandled GotStylusCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnGotTouchCapture(TouchEventArgs)

Provides class handling for the GotTouchCapture routed event that occurs when a touch is captured to this element.

OnIsKeyboardFocusedChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsKeyboardFocusedChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs)

Invoked just before the IsKeyboardFocusWithinChanged event is raised by this element. Implement this method to add class handling for this event.

OnIsMouseCapturedChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsMouseCapturedChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsMouseCaptureWithinChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsMouseCaptureWithinChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsMouseDirectlyOverChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsMouseDirectlyOverChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsStylusCapturedChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsStylusCapturedChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsStylusCaptureWithinChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsStylusCaptureWithinChanged event is raised on this element. Implement this method to add class handling for this event.

OnIsStylusDirectlyOverChanged(DependencyPropertyChangedEventArgs)

Invoked when an unhandled IsStylusDirectlyOverChanged event is raised on this element. Implement this method to add class handling for this event.

OnKeyDown(KeyEventArgs)

Invoked when an unhandled KeyDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnKeyUp(KeyEventArgs)

Invoked when an unhandled KeyUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnLostFocus(RoutedEventArgs)

Raises the LostFocus routed event by using the event data that is provided.

OnLostKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled LostKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnLostMouseCapture(MouseEventArgs)

Invoked when an unhandled LostMouseCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnLostStylusCapture(StylusEventArgs)

Invoked when an unhandled LostStylusCapture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnLostTouchCapture(TouchEventArgs)

Provides class handling for the LostTouchCapture routed event that occurs when this element loses a touch capture.

OnMouseDown(MouseButtonEventArgs)

Invoked when an unhandled MouseDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseEnter(MouseEventArgs)

Invoked when an unhandled MouseEnter attached event is raised on this element. Implement this method to add class handling for this event.

OnMouseLeave(MouseEventArgs)

Invoked when an unhandled MouseLeave attached event is raised on this element. Implement this method to add class handling for this event.

OnMouseLeftButtonDown(MouseButtonEventArgs)

Invoked when an unhandled MouseLeftButtonDown routed event is raised on this element. Implement this method to add class handling for this event.

OnMouseLeftButtonUp(MouseButtonEventArgs)

Invoked when an unhandled MouseLeftButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseMove(MouseEventArgs)

Invoked when an unhandled MouseMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseRightButtonDown(MouseButtonEventArgs)

Invoked when an unhandled MouseRightButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseRightButtonUp(MouseButtonEventArgs)

Invoked when an unhandled MouseRightButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseUp(MouseButtonEventArgs)

Invoked when an unhandled MouseUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnMouseWheel(MouseWheelEventArgs)

Invoked when an unhandled MouseWheel attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewDragEnter(DragEventArgs)

Invoked when an unhandled PreviewDragEnter attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewDragLeave(DragEventArgs)

Invoked when an unhandled PreviewDragLeave attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewDragOver(DragEventArgs)

Invoked when an unhandled PreviewDragOver attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewDrop(DragEventArgs)

Invoked when an unhandled PreviewDrop attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewGiveFeedback(GiveFeedbackEventArgs)

Invoked when an unhandled PreviewGiveFeedback attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled PreviewGotKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewKeyDown(KeyEventArgs)

Invoked when an unhandled PreviewKeyDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewKeyUp(KeyEventArgs)

Invoked when an unhandled PreviewKeyUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs)

Invoked when an unhandled PreviewLostKeyboardFocus attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseDown(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseDown attached routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseLeftButtonDown(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseLeftButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseLeftButtonUp(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseLeftButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseMove(MouseEventArgs)

Invoked when an unhandled PreviewMouseMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseRightButtonDown(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseRightButtonDown routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseRightButtonUp(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseRightButtonUp routed event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseUp(MouseButtonEventArgs)

Invoked when an unhandled PreviewMouseUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewMouseWheel(MouseWheelEventArgs)

Invoked when an unhandled PreviewMouseWheel attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewQueryContinueDrag(QueryContinueDragEventArgs)

Invoked when an unhandled PreviewQueryContinueDrag attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusButtonDown(StylusButtonEventArgs)

Invoked when an unhandled PreviewStylusButtonDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusButtonUp(StylusButtonEventArgs)

Invoked when an unhandled PreviewStylusButtonUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusDown(StylusDownEventArgs)

Invoked when an unhandled PreviewStylusDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusInAirMove(StylusEventArgs)

Invoked when an unhandled PreviewStylusInAirMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusInRange(StylusEventArgs)

Invoked when an unhandled PreviewStylusInRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusMove(StylusEventArgs)

Invoked when an unhandled PreviewStylusMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusOutOfRange(StylusEventArgs)

Invoked when an unhandled PreviewStylusOutOfRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusSystemGesture(StylusSystemGestureEventArgs)

Invoked when an unhandled PreviewStylusSystemGesture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewStylusUp(StylusEventArgs)

Invoked when an unhandled PreviewStylusUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewTextInput(TextCompositionEventArgs)

Invoked when an unhandled PreviewTextInput attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnPreviewTouchDown(TouchEventArgs)

Provides class handling for the PreviewTouchDown routed event that occurs when a touch presses this element.

OnPreviewTouchMove(TouchEventArgs)

Provides class handling for the PreviewTouchMove routed event that occurs when a touch moves while inside this element.

OnPreviewTouchUp(TouchEventArgs)

Provides class handling for the PreviewTouchUp routed event that occurs when a touch is released inside this element.

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)
OnQueryContinueDrag(QueryContinueDragEventArgs)

Invoked when an unhandled QueryContinueDrag attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnQueryCursor(QueryCursorEventArgs)

Invoked when an unhandled QueryCursor attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusButtonDown(StylusButtonEventArgs)

Invoked when an unhandled StylusButtonDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusButtonUp(StylusButtonEventArgs)

Invoked when an unhandled StylusButtonUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusDown(StylusDownEventArgs)

Invoked when an unhandled StylusDown attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusEnter(StylusEventArgs)

Invoked when an unhandled StylusEnter attached event is raised by this element. Implement this method to add class handling for this event.

OnStylusInAirMove(StylusEventArgs)

Invoked when an unhandled StylusInAirMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusInRange(StylusEventArgs)

Invoked when an unhandled StylusInRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusLeave(StylusEventArgs)

Invoked when an unhandled StylusLeave attached event is raised by this element. Implement this method to add class handling for this event.

OnStylusMove(StylusEventArgs)

Invoked when an unhandled StylusMove attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusOutOfRange(StylusEventArgs)

Invoked when an unhandled StylusOutOfRange attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusSystemGesture(StylusSystemGestureEventArgs)

Invoked when an unhandled StylusSystemGesture attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnStylusUp(StylusEventArgs)

Invoked when an unhandled StylusUp attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnTextInput(TextCompositionEventArgs)

Invoked when an unhandled TextInput attached event reaches an element in its route that is derived from this class. Implement this method to add class handling for this event.

OnTouchDown(TouchEventArgs)

Provides class handling for the TouchDown routed event that occurs when a touch presses inside this element.

OnTouchEnter(TouchEventArgs)

Provides class handling for the TouchEnter routed event that occurs when a touch moves from outside to inside the bounds of this element.

OnTouchLeave(TouchEventArgs)

Provides class handling for the TouchLeave routed event that occurs when a touch moves from inside to outside the bounds of this element.

OnTouchMove(TouchEventArgs)

Provides class handling for the TouchMove routed event that occurs when a touch moves while inside this element.

OnTouchUp(TouchEventArgs)

Provides class handling for the TouchUp routed event that occurs when a touch is released inside this element.

OnUpdateModel()

Participates in rendering operations when overridden in a derived class.

OnVisualChildrenChanged(DependencyObject, DependencyObject)

Called when the Visual3DCollection of the visual object is modified.

(Inherited from Visual3D)
OnVisualParentChanged(DependencyObject)

Invoked when the parent element of this UIElement3D reports a change to its underlying visual parent.

PredictFocus(FocusNavigationDirection)

When overridden in a derived class, returns the element that would receive focus for a specified focus traversal direction, without actually moving focus to that element.

RaiseEvent(RoutedEventArgs)

Raises a specific routed event. The RoutedEvent to be raised is identified within the RoutedEventArgs instance that is provided (as the RoutedEvent property of that event data).

ReadLocalValue(DependencyProperty)

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

(Inherited from DependencyObject)
ReleaseAllTouchCaptures()

Releases all captured touch devices from this element.

ReleaseMouseCapture()

Releases the mouse capture, if this element held the capture.

ReleaseStylusCapture()

Releases the stylus device capture, if this element held the capture.

ReleaseTouchCapture(TouchDevice)

Attempts to release the specified touch device from this element.

RemoveHandler(RoutedEvent, Delegate)

Removes the specified routed event handler from this element.

RemoveVisual3DChild(Visual3D)

Removes the parent-child relationship between two 3-D visuals.

(Inherited from Visual3D)
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)
ShouldSerializeCommandBindings()

Returns whether serialization processes should serialize the contents of the CommandBindings property on instances of this class.

ShouldSerializeInputBindings()

Returns whether serialization processes should serialize the contents of the InputBindings property on instances of this class.

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 this Visual3D object to the specified Visual ancestor of the object.

(Inherited from Visual3D)
TransformToAncestor(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)
TransformToDescendant(Visual3D)

Returns a transform that can be used to transform coordinates from this Visual3D object to the specified Visual3D descent object.

(Inherited from Visual3D)
VerifyAccess()

Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Events

DragEnter

Occurs when the input system reports an underlying drag event with this element as the drag target.

DragLeave

Occurs when the input system reports an underlying drag event with this element as the drag origin.

DragOver

Occurs when the input system reports an underlying drag event with this element as the potential drop target.

Drop

Occurs when the input system reports an underlying drop event with this element as the drop target.

FocusableChanged

Occurs when the value of the Focusable property changes.

GiveFeedback

Occurs when the input system reports an underlying drag-and-drop event that involves this element.

GotFocus

Occurs when this element gets logical focus.

GotKeyboardFocus

Occurs when the keyboard is focused on this element.

GotMouseCapture

Occurs when this element captures the mouse.

GotStylusCapture

Occurs when this element captures the stylus.

GotTouchCapture

Occurs when a touch is captured to this element.

IsEnabledChanged

Occurs when the value of the IsEnabled property on this element changes.

IsHitTestVisibleChanged

Occurs when the value of the IsHitTestVisible dependency property changes on this element.

IsKeyboardFocusedChanged

Occurs when the value of the IsKeyboardFocused property changes on this element.

IsKeyboardFocusWithinChanged

Occurs when the value of the IsKeyboardFocusWithin property changes on this element.

IsMouseCapturedChanged

Occurs when the value of the IsMouseCaptured property changes on this element.

IsMouseCaptureWithinChanged

Occurs when the value of the IsMouseCaptureWithin property changes on this element.

IsMouseDirectlyOverChanged

Occurs when the value of the IsMouseDirectlyOver property changes on this element.

IsStylusCapturedChanged

Occurs when the value of the IsStylusCaptured property changes on this element.

IsStylusCaptureWithinChanged

Occurs when the value of the IsStylusCaptureWithin property changes on this element.

IsStylusDirectlyOverChanged

Occurs when the value of the IsStylusDirectlyOver property changes on this element.

IsVisibleChanged

Occurs when the value of the IsVisible property changes on this element.

KeyDown

Occurs when a key is pressed while the keyboard is focused on this element.

KeyUp

Occurs when a key is released while the keyboard is focused on this element.

LostFocus

Occurs when this element loses logical focus.

LostKeyboardFocus

Occurs when the keyboard is no longer focused on this element.

LostMouseCapture

Occurs when this element loses mouse capture.

LostStylusCapture

Occurs when this element loses stylus capture.

LostTouchCapture

Occurs when this element loses a touch capture.

MouseDown

Occurs when any mouse button is pressed while the pointer is over this element.

MouseEnter

Occurs when the mouse pointer enters the bounds of this element.

MouseLeave

Occurs when the mouse pointer leaves the bounds of this element.

MouseLeftButtonDown

Occurs when the left mouse button is pressed while the mouse pointer is over this element.

MouseLeftButtonUp

Occurs when the left mouse button is released while the mouse pointer is over this element.

MouseMove

Occurs when the mouse pointer moves while over this element.

MouseRightButtonDown

Occurs when the right mouse button is pressed while the mouse pointer is over this element.

MouseRightButtonUp

Occurs when the right mouse button is released while the mouse pointer is over this element.

MouseUp

Occurs when any mouse button is released over this element.

MouseWheel

Occurs when the user rotates the mouse wheel while the mouse pointer is over this element.

PreviewDragEnter

Occurs when the input system reports an underlying drag event with this element as the drag target.

PreviewDragLeave

Occurs when the input system reports an underlying drag event with this element as the drag origin.

PreviewDragOver

Occurs when the input system reports an underlying drag event with this element as the potential drop target.

PreviewDrop

Occurs when the input system reports an underlying drop event with this element as the drop target.

PreviewGiveFeedback

Occurs when a drag-and-drop operation is started.

PreviewGotKeyboardFocus

Occurs when the keyboard is focused on this element.

PreviewKeyDown

Occurs when a key is pressed while the keyboard is focused on this element.

PreviewKeyUp

Occurs when a key is released while the keyboard is focused on this element.

PreviewLostKeyboardFocus

Occurs when the keyboard is no longer focused on this element.

PreviewMouseDown

Occurs when any mouse button is pressed while the pointer is over this element.

PreviewMouseLeftButtonDown

Occurs when the left mouse button is pressed while the mouse pointer is over this element.

PreviewMouseLeftButtonUp

Occurs when the left mouse button is released while the mouse pointer is over this element.

PreviewMouseMove

Occurs when the mouse pointer moves while the mouse pointer is over this element.

PreviewMouseRightButtonDown

Occurs when the right mouse button is pressed while the mouse pointer is over this element.

PreviewMouseRightButtonUp

Occurs when the right mouse button is released while the mouse pointer is over this element.

PreviewMouseUp

Occurs when any mouse button is released while the mouse pointer is over this element.

PreviewMouseWheel

Occurs when the user rotates the mouse wheel while the mouse pointer is over this element.

PreviewQueryContinueDrag

Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation.

PreviewStylusButtonDown

Occurs when the stylus button is pressed while the pointer is over this element.

PreviewStylusButtonUp

Occurs when the stylus button is released while the pointer is over this element.

PreviewStylusDown

Occurs when the stylus touches the digitizer while it is over this element.

PreviewStylusInAirMove

Occurs when the stylus moves over an element without actually touching the digitizer.

PreviewStylusInRange

Occurs when the stylus is close enough to the digitizer to be detected, while over this element.

PreviewStylusMove

Occurs when the stylus moves while over the element. The stylus must move while being detected by the digitizer to raise this event, otherwise, PreviewStylusInAirMove is raised instead.

PreviewStylusOutOfRange

Occurs when the stylus is too far from the digitizer to be detected.

PreviewStylusSystemGesture

Occurs when a user performs one of several stylus gestures.

PreviewStylusUp

Occurs when the user raises the stylus off the digitizer while the stylus is over this element.

PreviewTextInput

Occurs when this element gets text in a device-independent manner.

PreviewTouchDown

Occurs when a finger touches the screen while the finger is over this element.

PreviewTouchMove

Occurs when a finger moves on the screen while the finger is over this element.

PreviewTouchUp

Occurs when a finger is raised off of the screen while the finger is over this element.

QueryContinueDrag

Occurs when there is a change in the keyboard or mouse button state during a drag-and-drop operation.

QueryCursor

Occurs when the cursor is requested to display. This event is raised on an element each time that the mouse pointer moves to a new location, which means the cursor object might need to be changed based on its new position.

StylusButtonDown

Occurs when the stylus button is pressed while the pointer is over this element.

StylusButtonUp

Occurs when the stylus button is released while the pointer is over this element.

StylusDown

Occurs when the stylus touches the digitizer while the stylus is over this element.

StylusEnter

Occurs when the stylus enters the bounds of this element.

StylusInAirMove

Occurs when the stylus moves over an element without actually touching the digitizer.

StylusInRange

Occurs when the stylus is close enough to the digitizer to be detected, while over this element.

StylusLeave

Occurs when the stylus leaves the bounds of the element.

StylusMove

Occurs when the stylus moves over this element. The stylus must move while on the digitizer to raise this event. Otherwise, StylusInAirMove is raised instead.

StylusOutOfRange

Occurs when the stylus is too far from the digitizer to be detected, while over this element.

StylusSystemGesture

Occurs when a user performs one of several stylus gestures.

StylusUp

Occurs when the user raises the stylus off the digitizer while it is over this element.

TextInput

Occurs when this element gets text in a device-independent manner.

TouchDown

Occurs when a finger touches the screen while the finger is over this element.

TouchEnter

Occurs when a touch moves from outside to inside the bounds of this element.

TouchLeave

Occurs when a touch moves from inside to outside the bounds of this element.

TouchMove

Occurs when a finger moves on the screen while the finger is over this element.

TouchUp

Occurs when a finger is raised off of the screen while the finger is over this element.

Applies to

See also