ContainerVisual.HitTest 方法

定义

返回命中测试的最顶端可视对象。

重载

HitTest(Point)

通过指定 Point 返回命中测试最顶端的可视对象。

HitTest(HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

使用 HitTestFilterCallbackHitTestResultCallback 对象启动 ContainerVisual 上的命中测试。

HitTest(Point)

通过指定 Point 返回命中测试最顶端的可视对象。

public:
 System::Windows::Media::HitTestResult ^ HitTest(System::Windows::Point point);
public System.Windows.Media.HitTestResult HitTest (System.Windows.Point point);
override this.HitTest : System.Windows.Point -> System.Windows.Media.HitTestResult
member this.HitTest : System.Windows.Point -> System.Windows.Media.HitTestResult
Public Function HitTest (point As Point) As HitTestResult

参数

point
Point

命中测试的点值。

返回

HitTestResult 类型返回的视觉效果的命中测试结果。

示例

以下示例演示如何从 HitTest 方法检索HitTestResult返回值。

// Capture the mouse event and hit test the coordinate point value against
// the child visual objects.
void MyVisualHost_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    // Retrieve the coordinates of the mouse button event.
    Point pt = e.GetPosition((UIElement)sender);

    // Initiate the hit test on the ContainerVisual's visual tree.
    HitTestResult result = _containerVisual.HitTest(pt);

    // Perform the action on the hit visual.
    if (result.VisualHit != null)
    {
        ProcessHitVisual((Visual)result.VisualHit);
    }
}
' Capture the mouse event and hit test the coordinate point value against
' the child visual objects.
Private Sub MyVisualHost_MouseLeftButtonUp(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
    ' Retrieve the coordinates of the mouse button event.
    Dim pt As Point = e.GetPosition(CType(sender, UIElement))

    ' Initiate the hit test on the ContainerVisual's visual tree.
    Dim result As HitTestResult = _containerVisual.HitTest(pt)

    ' Perform the action on the hit visual.
    If result.VisualHit IsNot Nothing Then
        ProcessHitVisual(CType(result.VisualHit, Visual))
    End If
End Sub

注解

VisualHit返回值的 属性表示命中Visual的对象。

适用于

HitTest(HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

使用 HitTestFilterCallbackHitTestResultCallback 对象启动 ContainerVisual 上的命中测试。

public:
 void HitTest(System::Windows::Media::HitTestFilterCallback ^ filterCallback, System::Windows::Media::HitTestResultCallback ^ resultCallback, System::Windows::Media::HitTestParameters ^ hitTestParameters);
public void HitTest (System.Windows.Media.HitTestFilterCallback filterCallback, System.Windows.Media.HitTestResultCallback resultCallback, System.Windows.Media.HitTestParameters hitTestParameters);
override this.HitTest : System.Windows.Media.HitTestFilterCallback * System.Windows.Media.HitTestResultCallback * System.Windows.Media.HitTestParameters -> unit
member this.HitTest : System.Windows.Media.HitTestFilterCallback * System.Windows.Media.HitTestResultCallback * System.Windows.Media.HitTestParameters -> unit
Public Sub HitTest (filterCallback As HitTestFilterCallback, resultCallback As HitTestResultCallback, hitTestParameters As HitTestParameters)

参数

filterCallback
HitTestFilterCallback

允许在处理命中测试结果时忽略无关的可视化树部分的委托。

resultCallback
HitTestResultCallback

用于控制返回命中测试信息的委托。

hitTestParameters
HitTestParameters

定义命中测试的参数集。

注解

参数 filterCallback 可以为 null,在这种情况下,将忽略它。 如果 filterCallback 不是 null,则会在 之前 resultCallback调用它。

适用于