2017-02-14 4 views
1

J'ai 5 dataitems dans un dans un format tabulaire dans un arbre. Je veux naviguer dans un fichier particulier de chaque élément de données.comment puis-je obtenir des éléments de données présents dans une arborescence en utilisant un cadre blanc

1) Arbre a) Les données Item1 b) Les données de c) l'item de données 3 d) de données

Nom ID No Tag Adc emplacement 1 xyz 12 34rt 2W KDC 4 Hjk 67 56tr 7y jk 5 Hg 87 7h Lk Kl 6 Kl 90 8u Jk io Je veux obtenir les valeurs «Tag» de chaque élément de données.

L'espion de l'interface utilisateur s'affiche comme arbre et les éléments de données. Arbre données de données de l'élément de données 3 données item5

Répondre

1

Je ne pense pas que vous pouvez accéder à la propriété Tag de vos éléments de données à l'aide de blanc, car il est pas une propriété d'automatisation, mais ce que vous pouvez faire est de définir votre valeur de test dans la propriété HelpText de vos éléments de données.

... 
myTreeViewItem.SetValue(AutomationProperties.HelpText, "MyValueForAutomation"); 
... 

Puis dans votre code d'automatisation, vous pouvez le récupérer comme celui-ci

Application application = Application.Attach("WpfTestApplication1"); 
var window = application.GetWindow("MainWindow"); 
var yourTree = window.Get<Tree>("MyTestTree"); 

var treeRoot = yourTree.Nodes.FirstOrDefault(); 
treeRoot.Select(); 
treeRoot.Expand(); 

foreach (TreeNode node in treeRoot.Nodes) 
{ 
    object help = node.AutomationElement.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, true); 
    if(help != AutomationElement.NotSupported) 
    { 
     string helpText = (string)help; 
    } 
}