条件アルゴリズム
他のコントロールと区別するプロパティ条件を指定して、コントロールを一意に特定する必要があります。 このトピックでは、条件の指定に役に立つグループ化について説明します。
コントロールを一意に特定する条件
NoCondition
: ツリーの最初の要素を指定するために、NoCondition
を与える必要があります。PropertyCondition
: 実際のプロパティと期待値を指定します。 以下に例を示します。<PropertyCondition Name="ControlType">ControlType.Pane</PropertyCondition>
この条件は、
ControlType
が"ControlType.Pane".
になる必要があることを指定します。AndCondition
:これはプロパティ条件をグループ化して、すべてのプロパティ条件が満たされた場合、TruePositive という結果が得られます。
少なくとも 2 つの条件を
AndCondition
グループ内で与える必要があります。 以下に例を示します。<AndCondition Id="SearchCondition"> <PropertyCondition Name="Name">System and Security</PropertyCondition> <PropertyCondition Name="ControlType">Hyperlink</PropertyCondition> </AndCondition>
この条件は、
ControlType
およびName
プロパティの両方を満たす必要があることを指定します。Name
とValue
をコントロールの UISpy 詳細から決定できます。
OrCondition
:これは、プロパティ条件をグループ化し、プロパティ条件のいずれかが満たされた場合、
TruePositive
という結果をもたらします。少なくとも 2 つの条件を
OrCondition
グループ内で与える必要があります。 以下に例を示します。<OrCondition Id="SearchCondition"> <PropertyCondition Name="Name">System and Security</PropertyCondition> <PropertyCondition Name="ControlType">Hyperlink</PropertyCondition> </OrCondition>
この条件は、
ControlType
プロパティまたはName
プロパティのいずれかを満たす必要があることを指定します。Name
とValue
をコントロールの UISpy 詳細から決定できます。
NotCondition
:これは、プロパティ条件をグループ化し、プロパティ条件が満たされなかった場合、
TruePositive
という結果をもたらします。1 つの条件のみを
NotCondition
グループ内で与えることができます。 以下に例を示します。<NotCondition Id="SearchCondition"> <PropertyCondition Name="Name">System and Security</PropertyCondition> </NotCondition>
この条件は、
Name
プロパティ条件が満たされていないかを指定します。Name
とValue
をコントロールの UISpy 詳細から決定できます。
NestedCondition
:AndCondition
内のOrCondition
などの、入れ子になったグループ化を指定する必要があります。 最後の子条件はPropertyCondition
となる必要があります。次のタイプのいずれのプロパティでも条件に含めることができます。
System.Boolean
System.String
System.Windows.Rect
System.Windows.Point
System.Windows.Automation.OrientationType
System.Windows.Automation.ControlType