Visual.HitTestCore 方法

定义

确定点或几何图形值是否在可视对象的边界内。

重载

HitTestCore(GeometryHitTestParameters)

确定可视对象的边界中是否存在几何图形值。

HitTestCore(PointHitTestParameters)

确定点坐标值是否在可视对象的边界内。

HitTestCore(GeometryHitTestParameters)

确定可视对象的边界中是否存在几何图形值。

C#
protected virtual System.Windows.Media.GeometryHitTestResult HitTestCore (System.Windows.Media.GeometryHitTestParameters hitTestParameters);

参数

hitTestParameters
GeometryHitTestParameters

GeometryHitTestParameters 对象,指定 Geometry 针对命中测试。

返回

GeometryHitTestResult

表示命中测试结果的 GeometryHitTestResult 对象。

示例

下面的示例演示如何重写 HitTestCore(GeometryHitTestParameters) 方法。 你可能想要替代此方法的一个原因是在命中测试过程中提供其他功能。

C#
// Override default hit test support in visual object.
protected override GeometryHitTestResult HitTestCore(GeometryHitTestParameters hitTestParameters)
{
    IntersectionDetail intersectionDetail = IntersectionDetail.NotCalculated;

    // Perform custom actions during the hit test processing.

    return new GeometryHitTestResult(this, intersectionDetail);
}

注解

可以通过重写 HitTestCore 方法替代对视觉对象的默认命中测试支持。 这意味着调用 HitTest 该方法时,将调用重写的 HitTestCore 实现。 当命中测试位于视觉对象的边界矩形内时,将调用重写的方法,即使坐标位于视觉对象的几何图形之外也是如此。

适用于

.NET Framework 4.8 和其他版本
产品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

HitTestCore(PointHitTestParameters)

确定点坐标值是否在可视对象的边界内。

C#
protected virtual System.Windows.Media.HitTestResult HitTestCore (System.Windows.Media.PointHitTestParameters hitTestParameters);

参数

hitTestParameters
PointHitTestParameters

PointHitTestParameters 对象,指定 Point 针对命中测试。

返回

HitTestResult

表示从命中测试中返回的 HitTestResultVisual

示例

下面的示例演示如何重写 HitTestCore(PointHitTestParameters) 方法。 你可能想要替代此方法的一个原因是在命中测试过程中提供其他功能。

C#
// Override default hit test support in visual object.
protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
{
    Point pt = hitTestParameters.HitPoint;

    // Perform custom actions during the hit test processing,
    // which may include verifying that the point actually
    // falls within the rendered content of the visual.

    // Return hit on bounding rectangle of visual object.
    return new PointHitTestResult(this, pt);
}

注解

可以通过重写 HitTestCore 方法替代对视觉对象的默认命中测试支持。 这意味着调用 HitTest 该方法时,将调用重写的 HitTestCore 实现。 当命中测试位于视觉对象的边界矩形内时,将调用重写的方法,即使坐标位于视觉对象的几何图形之外也是如此。

适用于

.NET Framework 4.8 和其他版本
产品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7