HitTestFilterBehavior HitTestFilterBehavior HitTestFilterBehavior HitTestFilterBehavior Enum

定義

ヒット テスト フィルターのコールバック メソッドでヒット テストの戻り値の動作を指定します。Specifies the return behavior of a hit test in a hit test filter callback method.

public enum class HitTestFilterBehavior
public enum HitTestFilterBehavior
type HitTestFilterBehavior = 
Public Enum HitTestFilterBehavior
継承
HitTestFilterBehaviorHitTestFilterBehaviorHitTestFilterBehaviorHitTestFilterBehavior

フィールド

Continue Continue Continue Continue 6

現在の Visual とその子孫に対してヒット テストを行います。Hit test against the current Visual and its descendants.

ContinueSkipChildren ContinueSkipChildren ContinueSkipChildren ContinueSkipChildren 2

現在の Visual に対してヒット テストを行いますが、その子孫については行いません。Hit test against the current Visual, but not its descendants.

ContinueSkipSelf ContinueSkipSelf ContinueSkipSelf ContinueSkipSelf 4

現在の Visual に対してはヒット テストを行いませんが、その子孫については行います。Do not hit test against the current Visual, but hit test against its descendants.

ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren 0

現在の Visual に対してもその子孫に対してもヒット テストを行いません。Do not hit test against the current Visual or its descendants.

Stop Stop Stop Stop 8

現在の Visual に対するヒット テストを停止します。Stop hit testing at the current Visual.

次の例は、ヒットテストフィルター ContinueSkipSelfAndChildrenのコールバックメソッドから値を返す方法を示しています。The following example shows how to return a ContinueSkipSelfAndChildren value from a hit test filter callback method. この場合、フィルターはラベルとその子孫をスキップし、他のすべてのヒットテストを行います。In this case, the filter skips labels and their descendants and hit tests everything else.

// Filter the hit test values for each object in the enumeration.
public HitTestFilterBehavior MyHitTestFilter(DependencyObject o)
{
    // Test for the object value you want to filter.
    if (o.GetType() == typeof(Label))
    {
        // Visual object and descendants are NOT part of hit test results enumeration.
        return HitTestFilterBehavior.ContinueSkipSelfAndChildren;
    }
    else
    {
        // Visual object is part of hit test results enumeration.
        return HitTestFilterBehavior.Continue;
    }
}
' Filter the hit test values for each object in the enumeration.
Public Function MyHitTestFilter(ByVal o As DependencyObject) As HitTestFilterBehavior
	' Test for the object value you want to filter.
	If o.GetType() Is GetType(Label) Then
		' Visual object and descendants are NOT part of hit test results enumeration.
		Return HitTestFilterBehavior.ContinueSkipSelfAndChildren
	Else
		' Visual object is part of hit test results enumeration.
		Return HitTestFilterBehavior.Continue
	End If
End Function

注釈

ヒットテストフィルターのコールバックの戻り値はHitTestFilterBehaviorであり、ヒットテストのためにビジュアルツリーを処理するときに実行するアクションの種類を決定します。The return value of the hit test filter callback is a HitTestFilterBehavior, which determines what type of action should be taken when processing the visual tree for hit testing. たとえば、ヒットテストフィルターのコールバックが値を返した場合は、ヒットテストの結果の評価から現在のビジュアルオブジェクトとその子孫を削除できます。For example, if your hit test filter callback return the value, ContinueSkipSelfAndChildren, you can remove the current visual object and its descendants from the hit test results evaluation.

注意

オブジェクトのビジュアルツリーを排除すると、ヒットテストの結果の評価パスに必要な処理量が減少します。Pruning the visual tree of objects decreases the amount of processing that is required during the hit test results evaluation pass.

ヒットテストフィルターを使用したビジュアルツリーの排除Pruning a visual tree using a hit test filter
ビジュアル ツリーの簡略化Pruning a visual tree

適用対象