英語で読む

次の方法で共有


HitTestFilterBehavior 列挙型

定義

ヒット テスト フィルターのコールバック メソッドでヒット テストの戻り値の動作を指定します。

C#
public enum HitTestFilterBehavior
継承
HitTestFilterBehavior

フィールド

名前 説明
Continue 6

現在の Visual およびその子孫に対してヒット テストを行います。

ContinueSkipChildren 2

現在の Visual に対してヒット テストを行いますが、その子孫については行いません。

ContinueSkipSelf 4

現在の Visual に対してはヒット テストを行いませんが、その子孫については行います。

ContinueSkipSelfAndChildren 0

現在の Visual に対してもその子孫に対してもヒット テストを行いません。

Stop 8

現在の Visual 対するヒット テストを停止します。

次の例は、ヒット テスト フィルター コールバック メソッドから値を返す HitTestFilterBehavior 方法を示しています。 この場合、フィルターはラベルとその子孫をスキップし、他のすべてをヒット テストします。

C#
// 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;
    }
}

注釈

ヒット テスト フィルター コールバックの戻り値は です HitTestFilterBehavior。これは、ヒット テスト用にビジュアル ツリーを処理するときに実行する必要があるアクションの種類を決定します。 たとえば、ヒット テスト フィルター コールバックが 値 ContinueSkipSelfAndChildrenを返す場合、ヒット テスト結果の評価から現在のビジュアル オブジェクトとその子孫を削除できます。

注意

オブジェクトのビジュアル ツリーを排除すると、ヒット テスト結果の評価パス中に必要な処理量が減少します。

ヒット テスト フィルターを使用したビジュアル ツリーの排除 ヒット テスト フィルター
ビジュアル ツリーの簡略化

適用対象

製品 バージョン
.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, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9