次の方法で共有


Unified Service Desk での FindControl 操作

このトピックでは、ユーザー インターフェイス (UI) コントロールを特定するために使用できる 2 つの方法について説明します。

UI ツリーベースの特定

この方法では、コントロール ツリー構造全部を取得します。 また、すべてのコントロール プロパティを使用して、最後のコントロールまで詳しく調べます。

サンプルのバインディング フォーマットを以下に示します。

<UIElement Name="UISystemandSecurityHyperlink">  
<UIObject MatchCount="1">                              
              <AndCondition>  
                <PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition>  
                <PropertyCondition Name="ControlType">Pane</PropertyCondition>  
              </AndCondition>  
                <UIObject>                                     
                  <AndCondition>  
                    <PropertyCondition Name="Name">System and Security</PropertyCondition>  
                    <PropertyCondition Name="ControlType">Hyperlink</PropertyCondition>  
                  </AndCondition>                    
                </UIObject>  
            </UIObject>  
<UIElement>  
  

タグについて以下の通り説明します。

  • <UIElement> – これは Name 属性を持つルート ノードです。

    • Name – DDA で使用されるフレンドリ名を取得します。

    • StartFromDesktop – 検索をデスクトップまたは現在の親から開始するか指定します。

    • ParentUIElement – 親コントロールとして使用する必要のある UIElement を指定します。 ボタンの場合は、"ウィンドウ" を ParentUIElement として指定する必要があります。 これは、バインディングを手動で作成するときに便利です。

    • MatchCount – マッチ数を指定します。 複数のコントロールのプロパティが同じ場合、コントロールはこのインデックスに基づいて特定されます。

  • <UIObject> – このノードは、コントロールを特定するためにツリー構造一式を取得します。

    • <PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition> – コントロール検索の対象となるプロパティの状態を取得します。 これは AndCondition/OrCondition/NotCondition でグループ化されます。 PropertyCondition が 1 つのみの場合、グループ分けなしで、ルート ノードに表示されます。 Name は、コントロール プロパティを表します。

    • AndConditionOrCondition、および NotCondition – プロパティの状態のグループ化の条件。

    • <AndCondition Id="SearchCondition"> – コントロールを特定する、プロパティの状態を取得します。 Id は条件リスト ID を表します。 グループ化を後で指定するとき、複数の AndCondition を使用できます。

    • <OrCondition Id="SearchCondition"> – コントロールを特定する、プロパティの状態を取得します。 Id は条件リスト ID を表します。 グループ化を後で指定するとき、複数の OrCondition を使用できます。

    • <NotCondition Id="SearchCondition"> – コントロールを特定する、プロパティの状態を取得します。 Id は条件リスト ID を表します。 グループ化を後で指定するとき、複数の NotCondition を使用できます。

    • AndConditionOrCondition、および NotCondition – 入れ子にできますが、正しくグループ化する必要があります。 最上位の XML バインディングの状態は 1 つだけにする必要があり、内部的にグループ化することができます。

オフセット ベースの特定

この方法は、操作が簡単で、バインディングも作成します。

Note

この方法は、コントロールを識別するために UI ツリー内の位置番号を使用するので、コントロール ツリーの場所が変化する場合は使用できません。 UI ツリーの場所が動的に変更される場合は、この方法は使用できません。

MatchCount 属性はオフセット レベルとして使用されます。 必要に応じて、条件を指定する必要があります。

サンプルのバインディング フォーマットを以下に示します。

<UIElement name="textBoxTabPage1">  
          <UIObject MatchCount="2">              
            <UIObject  MatchCount="1">               
              <UIObject   MatchCount="2">                  
              </UIObject>  
            </UIObject>  
          </UIObject>  
        </UIElement>  
  

関連項目

UIADDA
データ駆動型アダプター (DDA) の使用