UIElement3D 类

定义

UIElement3D 是 WPF 核心级实现的基类,这些实现是在 Windows Presentation Foundation (WPF) 元素和基本表示特性上生成的。

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
继承
派生
实现

示例

以下示例演示如何从 UIElement3D 类派生以创建 Sphere 类:

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

有关完整示例,请参阅 UIElement3D Sphere 示例

注解

UIElement3D 是一个抽象基类,可以从中派生类以表示特定 3D 元素。

一般情况下,3D 元素的大部分输入、聚焦和事件行为在 类中 UIElement3D 定义。 这包括键盘、鼠标和触笔输入的事件,以及相关的状态属性。 其中许多事件是路由事件,许多与输入相关的事件既具有浮升路由版本,也具有事件的隧道版本。 这些配对事件通常是控制作者最感兴趣的事件。

UIElement3D 还包括与 WPF 事件模型相关的 API,包括可以引发来自元素实例的指定路由事件的方法。

具有 UIElement3D 类专门定义的 UIElement3D 以下功能:

  • 可以响应用户输入 (包括通过处理事件路由或命令) 路由来控制输入的发送位置。

  • 可以引发通过逻辑元素树传递路由的路由事件。

重要

Visibility 状态会影响该元素的所有输入处理。 不可见的元素不参与命中测试,也不会接收输入事件,即使鼠标位于元素的边界上(如果可见)。

UIElement与 类不同,UIElement3D类不包含布局。 因此, UIElement3D 类不包括 MeasureArrange 方法。

派生自 UIElement3D 的类,它通过重写GetVisual3DChild来维护其自己的 对象集合,Visual3D并且Visual3DChildrenCount仍必须将新Visual3D对象传递给 AddVisual3DChild

UIElement3D.NET Framework版本 3.5 中引入了 。 有关详细信息,请参见版本和依赖关系

构造函数

UIElement3D()

初始化 UIElement3D 类的新实例。

字段

AllowDropProperty

标识 AllowDrop 依赖项属性。

AreAnyTouchesCapturedProperty

标识 AreAnyTouchesCaptured 依赖项属性。

AreAnyTouchesCapturedWithinProperty

标识 AreAnyTouchesCapturedWithin 依赖项属性。

AreAnyTouchesDirectlyOverProperty

标识 AreAnyTouchesDirectlyOver 依赖项属性。

AreAnyTouchesOverProperty

标识 AreAnyTouchesOver 依赖项属性。

DragEnterEvent

标识 DragEnter 路由事件。

DragLeaveEvent

标识 DragLeave 路由事件。

DragOverEvent

标识 DragOver 路由事件。

DropEvent

标识 Drop 路由事件。

FocusableProperty

标识 Focusable 依赖项属性。

GiveFeedbackEvent

标识 GiveFeedback 路由事件。

GotFocusEvent

标识 GotFocus 路由事件。

GotKeyboardFocusEvent

标识 GotKeyboardFocus 路由事件。

GotMouseCaptureEvent

标识 GotMouseCapture 路由事件。

GotStylusCaptureEvent

标识 GotStylusCapture 路由事件。

GotTouchCaptureEvent

标识 GotTouchCapture 路由事件。

IsEnabledProperty

标识 IsEnabled 依赖项属性。

IsFocusedProperty

标识 IsFocused 依赖项属性。

IsHitTestVisibleProperty

标识 IsHitTestVisible 依赖项属性。

IsKeyboardFocusedProperty

标识 IsKeyboardFocused 依赖项属性。

IsKeyboardFocusWithinProperty

标识 IsKeyboardFocusWithin 依赖项属性。

IsMouseCapturedProperty

标识 IsMouseCaptured 依赖项属性。

IsMouseCaptureWithinProperty

标识 IsMouseCaptureWithin 依赖项属性。

IsMouseDirectlyOverProperty

标识 IsMouseDirectlyOver 依赖项属性。

IsMouseOverProperty

标识 IsMouseOver 依赖项属性。

IsStylusCapturedProperty

标识 IsStylusCaptured 依赖项属性。

IsStylusCaptureWithinProperty

标识 IsStylusCaptureWithin 依赖项属性。

IsStylusDirectlyOverProperty

标识 IsStylusDirectlyOver 依赖项属性。

IsStylusOverProperty

标识 IsStylusOver 依赖项属性。

IsVisibleProperty

标识 IsVisible 依赖项属性。

KeyDownEvent

标识 KeyDown 路由事件。

KeyUpEvent

标识 KeyUp 路由事件。

LostFocusEvent

标识 LostFocus 路由事件。

LostKeyboardFocusEvent

标识 LostKeyboardFocus 路由事件。

LostMouseCaptureEvent

标识 LostMouseCapture 路由事件。

LostStylusCaptureEvent

标识 LostStylusCapture 路由事件。

LostTouchCaptureEvent

标识 LostTouchCapture 路由事件。

MouseDownEvent

标识 MouseDown 路由事件。

MouseEnterEvent

标识 MouseEnter 路由事件。

MouseLeaveEvent

标识 MouseLeave 路由事件。

MouseLeftButtonDownEvent

标识 MouseLeftButtonDown 路由事件。

MouseLeftButtonUpEvent

标识 MouseLeftButtonUp 路由事件。

MouseMoveEvent

标识 MouseMove 路由事件。

MouseRightButtonDownEvent

标识 MouseRightButtonDown 路由事件。

MouseRightButtonUpEvent

标识 MouseRightButtonUp 路由事件。

MouseUpEvent

标识 MouseUp 路由事件。

MouseWheelEvent

标识 MouseWheel 路由事件。

PreviewDragEnterEvent

标识 PreviewDragEnter 路由事件。

PreviewDragLeaveEvent

标识 PreviewDragLeave 路由事件。

PreviewDragOverEvent

标识 PreviewDragOver 路由事件。

PreviewDropEvent

标识 PreviewDrop 路由事件。

PreviewGiveFeedbackEvent

标识 PreviewGiveFeedback 路由事件。

PreviewGotKeyboardFocusEvent

标识 PreviewGotKeyboardFocus 路由事件。

PreviewKeyDownEvent

标识 PreviewKeyDown 路由事件。

PreviewKeyUpEvent

标识 PreviewKeyUp 路由事件。

PreviewLostKeyboardFocusEvent

标识 PreviewLostKeyboardFocus 路由事件。

PreviewMouseDownEvent

标识 PreviewMouseDown 路由事件。

PreviewMouseLeftButtonDownEvent

标识 PreviewMouseLeftButtonDown 路由事件。

PreviewMouseLeftButtonUpEvent

标识 PreviewMouseLeftButtonUp 路由事件。

PreviewMouseMoveEvent

标识 PreviewMouseMove 路由事件。

PreviewMouseRightButtonDownEvent

标识 PreviewMouseRightButtonDown 路由事件。

PreviewMouseRightButtonUpEvent

标识 PreviewMouseRightButtonUp 路由事件。

PreviewMouseUpEvent

标识 PreviewMouseUp 路由事件。

PreviewMouseWheelEvent

标识 PreviewMouseWheel 路由事件。

PreviewQueryContinueDragEvent

标识 PreviewQueryContinueDrag 路由事件。

PreviewStylusButtonDownEvent

标识 PreviewStylusButtonDown 路由事件。

PreviewStylusButtonUpEvent

标识 PreviewStylusButtonUp 路由事件。

PreviewStylusDownEvent

标识 PreviewStylusDown 路由事件。

PreviewStylusInAirMoveEvent

标识 PreviewStylusInAirMove 路由事件。

PreviewStylusInRangeEvent

标识 PreviewStylusInRange 路由事件。

PreviewStylusMoveEvent

标识 PreviewStylusMove 路由事件。

PreviewStylusOutOfRangeEvent

标识 PreviewStylusOutOfRange 路由事件。

PreviewStylusSystemGestureEvent

标识 PreviewStylusSystemGesture 路由事件。

PreviewStylusUpEvent

标识 PreviewStylusUp 路由事件。

PreviewTextInputEvent

标识 PreviewTextInput 路由事件。

PreviewTouchDownEvent

标识 PreviewTouchDown 路由事件。

PreviewTouchMoveEvent

标识 PreviewTouchMove 路由事件。

PreviewTouchUpEvent

标识 PreviewTouchUp 路由事件。

QueryContinueDragEvent

标识 QueryContinueDrag 路由事件。

QueryCursorEvent

标识 QueryCursor 路由事件。

StylusButtonDownEvent

标识 StylusButtonDown 路由事件。

StylusButtonUpEvent

标识 StylusButtonUp 路由事件。

StylusDownEvent

标识 StylusDown 路由事件。

StylusEnterEvent

标识 StylusEnter 路由事件。

StylusInAirMoveEvent

标识 StylusInAirMove 路由事件。

StylusInRangeEvent

标识 StylusInRange 路由事件。

StylusLeaveEvent

标识 StylusLeave 路由事件。

StylusMoveEvent

标识 StylusMove 路由事件。

StylusOutOfRangeEvent

标识 StylusOutOfRange 路由事件。

StylusSystemGestureEvent

标识 StylusSystemGesture 路由事件。

StylusUpEvent

标识 StylusUp 路由事件。

TextInputEvent

标识 TextInput 路由事件。

TouchDownEvent

标识 TouchDown 路由事件。

TouchEnterEvent

标识 TouchEnter 路由事件。

TouchLeaveEvent

标识 TouchLeave 路由事件。

TouchMoveEvent

标识 TouchMove 路由事件。

TouchUpEvent

标识 TouchUp 路由事件。

VisibilityProperty

标识 Visibility 依赖项属性。

属性

AllowDrop

获取或设置一个值,该值指示此元素能否用作拖放操作的目标。

AreAnyTouchesCaptured

获取一个值,该值指示在此元素上是否至少捕获了一次触摸。

AreAnyTouchesCapturedWithin

获取一个值,该值指示在此元素或其可视化树中的任何子元素上是否至少捕获了一次触摸。

AreAnyTouchesDirectlyOver

获取一个值,该值指示在此元素上是否至少按下了一次触摸设备。

AreAnyTouchesOver

获取一个值,该值指示在此元素或其可视化树中的任何子元素上是否至少按下了一次触摸设备。

CommandBindings

获取与此元素关联的 CommandBinding 对象的集合。

DependencyObjectType

获取 DependencyObjectType 包装此实例的 CLR 类型的 。

(继承自 DependencyObject)
Dispatcher

获取与此 Dispatcher 关联的 DispatcherObject

(继承自 DispatcherObject)
Focusable

获取或设置一个值,该值指示元素能否得到焦点。

HasAnimatedProperties

获取一个值,该值指示此 Visual3D 是否具有任何进行动画处理的属性。

(继承自 Visual3D)
InputBindings

获取与此元素关联的输入绑定的集合。

IsEnabled

获取或设置一个值,该值指示是否在用户界面 (UI) 中启用此元素。

IsEnabledCore

获取一个值,该值成为派生类中 IsEnabled 的返回值。

IsFocused

获取一个值,该值确定此元素是否具有逻辑焦点。

IsHitTestVisible

获取或设置一个值,该值声明是否可以返回此元素作为其呈现内容的某些部分的点击测试结果。

IsInputMethodEnabled

获取一个值,该值指示是否启用输入法系统(例如输入法编辑器 (输入法) )来处理此元素的输入。

IsKeyboardFocused

获取一个值,该值表示该元素是否具有键盘焦点。

IsKeyboardFocusWithin

获取一个值,该值指示键盘焦点是否位于元素或其可视化树子元素内的任意位置。

IsMouseCaptured

获取一个值,该值指示此元素是否捕获了鼠标。

IsMouseCaptureWithin

获取一个值,该值确定鼠标捕获是由此元素还是其可视化树中的子元素持有。

IsMouseDirectlyOver

获取一个值,该值指示在考虑元素组合的情况下,鼠标指针的位置是否与命中测试结果相对应。

IsMouseOver

获取一个值,该值指示鼠标指针是否位于此元素(包括可视化树中的子元素)的上方。

IsSealed

获取一个值,该值指示此实例当前是否为密封的(只读)。

(继承自 DependencyObject)
IsStylusCaptured

获取一个值,该值表示此元素是否捕获了触笔。

IsStylusCaptureWithin

获取一个值,该值确定触笔捕获是由此元素还是由元素边界内的元素及其可视化树持有。

IsStylusDirectlyOver

获取一个值,该值指示在考虑元素组合的情况下,触笔的位置是否与命中测试结果相对应。

IsStylusOver

获取一个值,该值指示触笔指针是否位于此元素(包括可视化子元素)的上方。

IsVisible

获取一个值,该值指示此元素在用户界面 (UI) 中是否可见。

TouchesCaptured

获取在此元素上捕获的所有触摸设备。

TouchesCapturedWithin

获取在此元素或其可视化树中的任何子元素上捕获的所有触摸设备。

TouchesDirectlyOver

获取此元素上的所有触摸设备。

TouchesOver

获取在此元素或其可视化树中的任何子元素上的所有触摸设备。

Transform

获取或设置应用于三维对象的变换。

(继承自 Visual3D)
Visibility

获取或设置用户界面 (UI) 此元素的可见性。

Visual3DChildrenCount

获取 Visual3D 对象的子元素数量。

(继承自 Visual3D)
Visual3DModel

获取或设置要呈现的 Model3D 对象。

(继承自 Visual3D)

方法

AddHandler(RoutedEvent, Delegate)

为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。

AddHandler(RoutedEvent, Delegate, Boolean)

为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。 将 handledEventsToo 指定为 true,可为已标记为由事件路由中的其他元素处理的路由事件调用所提供的处理程序。

AddToEventRoute(EventRoute, RoutedEventArgs)

将处理程序添加到当前 EventRoute 事件处理程序集合的指定 UIElement3D 中。

AddVisual3DChild(Visual3D)

定义两个三维可视对象之间的父子关系。

(继承自 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock)

将给定 AnimationClock 的效果应用于给定的依赖属性。

(继承自 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

将给定 AnimationClock 的效果应用于给定的依赖属性。 新 AnimationClock 对任何当前的动画所产生的效果均由 handoffBehavior 参数值确定。

(继承自 Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline)

基于指定的 AnimationTimelineDependencyProperty 对象初始化动画序列。

(继承自 Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

根据指定的 DependencyPropertyAnimationTimeline 启动 HandoffBehavior 对象的动画序列。

(继承自 Visual3D)
CaptureMouse()

尝试将鼠标强制捕获到此元素。

CaptureStylus()

尝试将触笔强制捕获到此元素。

CaptureTouch(TouchDevice)

尝试将触摸屏输入强制捕获到此元素。

CheckAccess()

确定调用线程是否可以访问此 DispatcherObject

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey 指定。

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。

(继承自 DependencyObject)
Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
FindCommonVisualAncestor(DependencyObject)

返回可视对象和其他指定可视对象的公共上级。

(继承自 Visual3D)
Focus()

尝试对此元素设置逻辑焦点。

GetAnimationBaseValue(DependencyProperty)

检索指定 DependencyProperty 对象的基值。

(继承自 Visual3D)
GetHashCode()

获取此 DependencyObject 的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用的枚举数,用于确定哪些依赖项属性在此 DependencyObject 上具有以本地方式设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetUIParentCore()

在派生类中重写时,如果不存在可视父级,则返回 (UI) 父元素的替代用户界面。

GetValue(DependencyProperty)

DependencyObject 的此实例返回依赖属性的当前有效值。

(继承自 DependencyObject)
GetVisual3DChild(Int32)

返回父级 Visual3D 中的指定 Visual3DCollection

(继承自 Visual3D)
InvalidateModel()

使表示元素的模型无效。

InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
IsAncestorOf(DependencyObject)

确定可视对象是否为后代可视对象的上级。

(继承自 Visual3D)
IsDescendantOf(DependencyObject)

确定可视对象是否为上级可视对象的后代。

(继承自 Visual3D)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MoveFocus(TraversalRequest)

尝试将焦点从此元素移到其他元素。 移动焦点的方向由指导方向指定,该方向在此元素的可视父级的组织结构中解释。

OnAccessKey(AccessKeyEventArgs)

在调用对于此元素有意义的访问键时提供类处理。

OnCreateAutomationPeer()

针对 Windows Presentation Foundation (WPF) 基础结构返回特定于类的 AutomationPeer 实现。

OnDragEnter(DragEventArgs)

当某个未处理的 DragEnter 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnDragLeave(DragEventArgs)

当某个未处理的 DragLeave 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnDragOver(DragEventArgs)

当某个未处理的 DragOver 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnDrop(DragEventArgs)

当某个未处理的 Drop 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnGiveFeedback(GiveFeedbackEventArgs)

当某个未处理的 GiveFeedback 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnGotFocus(RoutedEventArgs)

使用所提供的事件数据引发 GotFocus 路由事件。

OnGotKeyboardFocus(KeyboardFocusChangedEventArgs)

当某个未处理的 GotKeyboardFocus 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnGotMouseCapture(MouseEventArgs)

当某个未处理的 GotMouseCapture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnGotStylusCapture(StylusEventArgs)

当某个未处理的 GotStylusCapture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnGotTouchCapture(TouchEventArgs)

为在此元素上捕获触摸屏输入时发生的 GotTouchCapture 路由事件提供类处理。

OnIsKeyboardFocusedChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsKeyboardFocusedChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsKeyboardFocusWithinChanged(DependencyPropertyChangedEventArgs)

在此元素即将引发 IsKeyboardFocusWithinChanged 事件前调用。 实现此方法可为此事件添加类处理。

OnIsMouseCapturedChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsMouseCapturedChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsMouseCaptureWithinChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsMouseCaptureWithinChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsMouseDirectlyOverChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsMouseDirectlyOverChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsStylusCapturedChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsStylusCapturedChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsStylusCaptureWithinChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsStylusCaptureWithinChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnIsStylusDirectlyOverChanged(DependencyPropertyChangedEventArgs)

当针对此元素引发未处理的 IsStylusDirectlyOverChanged 事件时调用。 实现此方法可为此事件添加类处理。

OnKeyDown(KeyEventArgs)

当某个未处理的 KeyDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnKeyUp(KeyEventArgs)

当某个未处理的 KeyUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnLostFocus(RoutedEventArgs)

使用提供的事件数据引发 LostFocus 路由事件。

OnLostKeyboardFocus(KeyboardFocusChangedEventArgs)

当某个未处理的 LostKeyboardFocus 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnLostMouseCapture(MouseEventArgs)

当某个未处理的 LostMouseCapture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnLostStylusCapture(StylusEventArgs)

当某个未处理的 LostStylusCapture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnLostTouchCapture(TouchEventArgs)

为在此元素失去触摸屏输入捕获时发生的 LostTouchCapture 路由事件提供类处理。

OnMouseDown(MouseButtonEventArgs)

当某个未处理的 MouseDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseEnter(MouseEventArgs)

当此元素引发未处理的 MouseEnter 附加事件时调用。 实现此方法可为此事件添加类处理。

OnMouseLeave(MouseEventArgs)

当此元素引发未处理的 MouseLeave 附加事件时调用。 实现此方法可为此事件添加类处理。

OnMouseLeftButtonDown(MouseButtonEventArgs)

当此元素引发未处理的 MouseLeftButtonDown 路由事件时调用。 实现此方法可为此事件添加类处理。

OnMouseLeftButtonUp(MouseButtonEventArgs)

当某个未处理的 MouseLeftButtonUp 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseMove(MouseEventArgs)

当某个未处理的 MouseMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseRightButtonDown(MouseButtonEventArgs)

当某个未处理的 MouseRightButtonDown 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseRightButtonUp(MouseButtonEventArgs)

当某个未处理的 MouseRightButtonUp 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseUp(MouseButtonEventArgs)

当某个未处理的 MouseUp 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnMouseWheel(MouseWheelEventArgs)

当某个未处理的 MouseWheel 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewDragEnter(DragEventArgs)

当某个未处理的 PreviewDragEnter 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewDragLeave(DragEventArgs)

当某个未处理的 PreviewDragLeave 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewDragOver(DragEventArgs)

当某个未处理的 PreviewDragOver 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewDrop(DragEventArgs)

当某个未处理的 PreviewDrop 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewGiveFeedback(GiveFeedbackEventArgs)

当某个未处理的 PreviewGiveFeedback 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs)

当某个未处理的 PreviewGotKeyboardFocus 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewKeyDown(KeyEventArgs)

当某个未处理的 PreviewKeyDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewKeyUp(KeyEventArgs)

当某个未处理的 PreviewKeyUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs)

当某个未处理的 PreviewLostKeyboardFocus 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseDown(MouseButtonEventArgs)

当某个未处理的 PreviewMouseDown 附加路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseLeftButtonDown(MouseButtonEventArgs)

当某个未处理的 PreviewMouseLeftButtonDown 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseLeftButtonUp(MouseButtonEventArgs)

当某个未处理的 PreviewMouseLeftButtonUp 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseMove(MouseEventArgs)

当某个未处理的 PreviewMouseMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseRightButtonDown(MouseButtonEventArgs)

当某个未处理的 PreviewMouseRightButtonDown 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseRightButtonUp(MouseButtonEventArgs)

当某个未处理的 PreviewMouseRightButtonUp 路由事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseUp(MouseButtonEventArgs)

当某个未处理的 PreviewMouseUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewMouseWheel(MouseWheelEventArgs)

当某个未处理的 PreviewMouseWheel 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewQueryContinueDrag(QueryContinueDragEventArgs)

当某个未处理的 PreviewQueryContinueDrag 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusButtonDown(StylusButtonEventArgs)

当某个未处理的 PreviewStylusButtonDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusButtonUp(StylusButtonEventArgs)

当某个未处理的 PreviewStylusButtonUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusDown(StylusDownEventArgs)

当某个未处理的 PreviewStylusDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusInAirMove(StylusEventArgs)

当某个未处理的 PreviewStylusInAirMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusInRange(StylusEventArgs)

当某个未处理的 PreviewStylusInRange 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusMove(StylusEventArgs)

当某个未处理的 PreviewStylusMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusOutOfRange(StylusEventArgs)

当某个未处理的 PreviewStylusOutOfRange 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusSystemGesture(StylusSystemGestureEventArgs)

当某个未处理的 PreviewStylusSystemGesture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewStylusUp(StylusEventArgs)

当某个未处理的 PreviewStylusUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewTextInput(TextCompositionEventArgs)

当某个未处理的 PreviewTextInput 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnPreviewTouchDown(TouchEventArgs)

为在触摸屏输入按下此元素时发生的 PreviewTouchDown 路由事件提供类处理。

OnPreviewTouchMove(TouchEventArgs)

为在此元素内部移动触摸屏输入时发生的 PreviewTouchMove 路由事件提供类处理。

OnPreviewTouchUp(TouchEventArgs)

为在此元素内部释放触摸屏输入时发生的 PreviewTouchUp 路由事件提供类处理。

OnPropertyChanged(DependencyPropertyChangedEventArgs)

每当更新此 DependencyObject 的任何依赖属性的有效值时调用。 更改的特定依赖属性将在事件数据中报告。

(继承自 DependencyObject)
OnQueryContinueDrag(QueryContinueDragEventArgs)

当某个未处理的 QueryContinueDrag 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnQueryCursor(QueryCursorEventArgs)

当某个未处理的 QueryCursor 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusButtonDown(StylusButtonEventArgs)

当某个未处理的 StylusButtonDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusButtonUp(StylusButtonEventArgs)

当某个未处理的 StylusButtonUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusDown(StylusDownEventArgs)

当某个未处理的 StylusDown 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusEnter(StylusEventArgs)

当此元素引发未处理的 StylusEnter 附加事件时调用。 实现此方法可为此事件添加类处理。

OnStylusInAirMove(StylusEventArgs)

当某个未处理的 StylusInAirMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusInRange(StylusEventArgs)

当某个未处理的 StylusInRange 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusLeave(StylusEventArgs)

当此元素引发未处理的 StylusLeave 附加事件时调用。 实现此方法可为此事件添加类处理。

OnStylusMove(StylusEventArgs)

当某个未处理的 StylusMove 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusOutOfRange(StylusEventArgs)

当某个未处理的 StylusOutOfRange 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusSystemGesture(StylusSystemGestureEventArgs)

当某个未处理的 StylusSystemGesture 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnStylusUp(StylusEventArgs)

当某个未处理的 StylusUp 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnTextInput(TextCompositionEventArgs)

当某个未处理的 TextInput 附加事件在其路由中到达派生自此类的某个元素时调用。 实现此方法可为此事件添加类处理。

OnTouchDown(TouchEventArgs)

为在此元素内按下触摸屏输入时发生的 TouchDown 路由事件提供类处理。

OnTouchEnter(TouchEventArgs)

为在触摸屏输入从此元素边界外部移动到其内部时发生的 TouchEnter 路由事件提供类处理。

OnTouchLeave(TouchEventArgs)

为在触摸屏输入从此元素边界内部移动到其外部时发生的 TouchLeave 路由事件提供类处理。

OnTouchMove(TouchEventArgs)

为在此元素内部移动触摸屏输入时发生的 TouchMove 路由事件提供类处理。

OnTouchUp(TouchEventArgs)

为在此元素内部释放触摸屏输入时发生的 TouchUp 路由事件提供类处理。

OnUpdateModel()

在派生类中重写时,会参与呈现操作。

OnVisualChildrenChanged(DependencyObject, DependencyObject)

修改可视对象的 Visual3DCollection 时调用。

(继承自 Visual3D)
OnVisualParentChanged(DependencyObject)

在此 UIElement3D 的父元素报告其基础可视父元素发生更改时,调用此方法。

PredictFocus(FocusNavigationDirection)

当在派生类中重写时,返回将按指定焦点遍历方向接收焦点的元素,而不用实际将焦点移至该元素。

RaiseEvent(RoutedEventArgs)

引发特定路由事件。 在提供的 RoutedEventArgs 实例内标识将引发的 RoutedEvent(作为该事件数据的 RoutedEvent 属性)。

ReadLocalValue(DependencyProperty)

如果存在,则返回依赖属性的本地值。

(继承自 DependencyObject)
ReleaseAllTouchCaptures()

从此元素中释放所有捕获的触摸设备。

ReleaseMouseCapture()

如果此元素具有鼠标捕获,则释放该捕获。

ReleaseStylusCapture()

如果此元素具有触笔设备捕获,则释放该捕获。

ReleaseTouchCapture(TouchDevice)

尝试从此元素释放指定触摸设备。

RemoveHandler(RoutedEvent, Delegate)

从此元素中删除指定的路由事件处理程序。

RemoveVisual3DChild(Visual3D)

移除两个三维可视对象之间的父子关系。

(继承自 Visual3D)
SetCurrentValue(DependencyProperty, Object)

设置依赖属性的值而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,该值由其依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置一个只读依赖属性的本地值,该值由依赖属性的 DependencyPropertyKey 标识符指定。

(继承自 DependencyObject)
ShouldSerializeCommandBindings()

返回序列化进程是否应在此类的实例上序列化 CommandBindings 属性的内容。

ShouldSerializeInputBindings()

返回序列化进程是否应在此类的实例上序列化 InputBindings 属性的内容。

ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TransformToAncestor(Visual)

返回一个转换,该转换可用于将此 Visual3D 对象中的坐标转换为该对象的指定 Visual 上级。

(继承自 Visual3D)
TransformToAncestor(Visual3D)

返回一个转换,该转换可用于将此 Visual3D 对象中的坐标转换为该对象的指定 Visual3D 上级。

(继承自 Visual3D)
TransformToDescendant(Visual3D)

返回一个转换,此转换可用于将坐标从此 Visual3D 对象转换为指定的 Visual3D 派生对象。

(继承自 Visual3D)
VerifyAccess()

强制调用线程具有此 DispatcherObject 的访问权限。

(继承自 DispatcherObject)

事件

DragEnter

在输入系统报告出现以此元素为拖动目标的基础拖动事件时发生。

DragLeave

在输入系统报告出现以此元素为拖动起点的基础拖动事件时发生。

DragOver

在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。

Drop

在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。

FocusableChanged

Focusable 属性的值更改时发生。

GiveFeedback

在输入系统报告出现涉及此元素的基础拖放操作时发生。

GotFocus

在此元素获得逻辑焦点时发生。

GotKeyboardFocus

在此元素聚焦于键盘时发生。

GotMouseCapture

在此元素捕获鼠标时发生。

GotStylusCapture

在此元素捕获触笔时发生。

GotTouchCapture

在此元素上捕获触摸屏输入时发生。

IsEnabledChanged

在此元素的 IsEnabled 属性值更改时发生。

IsHitTestVisibleChanged

在此元素的 IsHitTestVisible 依赖项属性值更改时发生。

IsKeyboardFocusedChanged

在此元素的 IsKeyboardFocused 属性值更改时发生。

IsKeyboardFocusWithinChanged

在此元素的 IsKeyboardFocusWithin 属性值更改时发生。

IsMouseCapturedChanged

在此元素的 IsMouseCaptured 属性值更改时发生。

IsMouseCaptureWithinChanged

在此元素的 IsMouseCaptureWithin 属性值更改时发生。

IsMouseDirectlyOverChanged

在此元素的 IsMouseDirectlyOver 属性值更改时发生。

IsStylusCapturedChanged

在此元素的 IsStylusCaptured 属性值更改时发生。

IsStylusCaptureWithinChanged

在此元素的 IsStylusCaptureWithin 属性值更改时发生。

IsStylusDirectlyOverChanged

在此元素的 IsStylusDirectlyOver 属性值更改时发生。

IsVisibleChanged

在此元素的 IsVisible 属性值更改时发生。

KeyDown

在此元素聚焦于键盘并且按下某个键时发生。

KeyUp

在此元素聚焦于键盘并且松开某个键时发生。

LostFocus

在此元素丢失逻辑焦点时发生。

LostKeyboardFocus

在此元素不再聚焦于键盘时发生。

LostMouseCapture

在此元素丢失鼠标捕获时发生。

LostStylusCapture

在此元素丢失触笔捕获时发生。

LostTouchCapture

在此元素失去触摸屏输入捕获时发生。

MouseDown

在指针位于此元素上并且按下任意鼠标按钮时发生。

MouseEnter

在鼠标指针进入此元素的边界时发生。

MouseLeave

在鼠标指针离开此元素的边界时发生。

MouseLeftButtonDown

在鼠标指针位于此元素上并且按下鼠标左键时发生。

MouseLeftButtonUp

在鼠标指针位于此元素上并且松开鼠标左键时发生。

MouseMove

在鼠标指针位于此元素上并且移动鼠标指针时发生。

MouseRightButtonDown

在鼠标指针位于此元素上并且按下鼠标右键时发生。

MouseRightButtonUp

在鼠标指针位于此元素上并且松开鼠标右键时发生。

MouseUp

在鼠标指针位于此元素上并且松开任意鼠标按钮时发生。

MouseWheel

在鼠标指针位于此元素上并且用户滚动鼠标滚轮时发生。

PreviewDragEnter

在输入系统报告出现以此元素为拖动目标的基础拖动事件时发生。

PreviewDragLeave

在输入系统报告出现以此元素为拖动起点的基础拖动事件时发生。

PreviewDragOver

在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。

PreviewDrop

在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。

PreviewGiveFeedback

在开始拖放操作时发生。

PreviewGotKeyboardFocus

在此元素聚焦于键盘时发生。

PreviewKeyDown

在此元素聚焦于键盘并且按下某个键时发生。

PreviewKeyUp

在此元素聚焦于键盘并且松开某个键时发生。

PreviewLostKeyboardFocus

在此元素不再聚焦于键盘时发生。

PreviewMouseDown

在指针位于此元素上并且按下任意鼠标按钮时发生。

PreviewMouseLeftButtonDown

在鼠标指针位于此元素上并且按下鼠标左键时发生。

PreviewMouseLeftButtonUp

在鼠标指针位于此元素上并且松开鼠标左键时发生。

PreviewMouseMove

在鼠标指针位于此元素上并且移动鼠标指针时发生。

PreviewMouseRightButtonDown

在鼠标指针位于此元素上并且按下鼠标右键时发生。

PreviewMouseRightButtonUp

在鼠标指针位于此元素上并且松开鼠标右键时发生。

PreviewMouseUp

在鼠标指针位于此元素上并且松开任意鼠标按钮时发生。

PreviewMouseWheel

在鼠标指针位于此元素上并且用户滚动鼠标滚轮时发生。

PreviewQueryContinueDrag

在拖放操作期间键盘或鼠标按钮的状态改变时发生。

PreviewStylusButtonDown

在指针位于此元素上并且按下触笔按钮时发生。

PreviewStylusButtonUp

在指针位于此元素上并且松开触笔按钮时发生。

PreviewStylusDown

当触笔位于元素上且触及数字化器时发生。

PreviewStylusInAirMove

在触笔掠过元素但并未实际接触数字化器时发生。

PreviewStylusInRange

在触笔位于此元素上并且触笔与数字化器之间的距离近到足以检测到触笔时发生。

PreviewStylusMove

在触笔位于元素上并且移动触笔时发生。 数字化器在检测触笔时,触笔必须处于移动状态才会引发此事件,否则将改为引发 PreviewStylusInAirMove

PreviewStylusOutOfRange

在触笔与数字化仪之间的距离太远以致无法检测到触笔时发生。

PreviewStylusSystemGesture

在用户采用某一种触笔笔势时发生。

PreviewStylusUp

当触笔位于此元素上并且用户将触笔抬离数字化器时发生。

PreviewTextInput

在此元素以设备无关模式获取文本时发生。

PreviewTouchDown

当悬停在此元素上方的手指触摸屏幕时发生。

PreviewTouchMove

当悬停在此元素上方的手指在屏幕上移动时发生。

PreviewTouchUp

当悬停在此元素上方的手指从屏幕上移开时发生。

QueryContinueDrag

在拖放操作期间键盘或鼠标按钮的状态改变时发生。

QueryCursor

当请求显示光标时发生。 每次鼠标指针移至新位置时都会在一个元素上引发此事件,这意味着光标对象可能需要根据其新位置进行更改。

StylusButtonDown

在指针位于此元素上并且按下触笔按钮时发生。

StylusButtonUp

在指针位于此元素上并且松开触笔按钮时发生。

StylusDown

在触笔位于此元素上且同时触及数字化器时发生。

StylusEnter

在触笔进入此元素的边界时发生。

StylusInAirMove

在触笔掠过元素但并未实际接触数字化器时发生。

StylusInRange

在触笔位于此元素上并且触笔与数字化器之间的距离近到足以检测到触笔时发生。

StylusLeave

在触笔离开元素的边界时发生。

StylusMove

在触笔移到此元素上时发生。 触笔必须在位于数字化器上时移动,才会引发此事件。 否则将改为引发 StylusInAirMove

StylusOutOfRange

在触笔位于此元素上并且触笔与数字化器之间的距离太远以致无法检测到触笔时发生。

StylusSystemGesture

在用户采用某一种触笔笔势时发生。

StylusUp

当触笔位于此元素上并且用户将触笔抬离数字化器时发生。

TextInput

在此元素以设备无关模式获取文本时发生。

TouchDown

当悬停在此元素上方的手指触摸屏幕时发生。

TouchEnter

在触摸屏输入从此元素边界外部移动到其内部时发生。

TouchLeave

在触摸屏输入从此元素边界内部移动到其外部时发生。

TouchMove

当悬停在此元素上方的手指在屏幕上移动时发生。

TouchUp

当悬停在此元素上方的手指从屏幕上移开时发生。

适用于

另请参阅