Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez a dokumentáció azoknak a .NET-keretrendszer-fejlesztőknek készült, akik a System.Windows.Automation névtérben definiált felügyelt felhasználói felületi Automation-osztályokat szeretnék használni. A felhasználói felület automatizálásával kapcsolatos legfrissebb információkért lásd Windows Automation API: UI Automation.
A kisegítő technológiai termékek és tesztszkriptek a felhasználói felület automatizálási fájában navigálva információkat gyűjtenek a felhasználói felületről és annak elemeiről.
A felhasználói felület automatizálási fájában található egy gyökérelem (RootElement), amely az aktuális asztalt jelöli, és amelynek gyermekelemei az alkalmazásablakokat jelölik. Ezek a gyermekelemek tartalmazhatnak olyan elemeket, amelyek a felhasználói felület elemeit jelölik, például menüket, gombokat, eszköztárakat és listamezőket. Ezek az elemek viszont tartalmazhatnak elemeket, például listaelemeket.
A felhasználói felület automatizálási fa nem rögzített szerkezet, és ritkán látható a teljességében, mert több ezer elemet tartalmazhat. Egyes részei igény szerint vannak felépítve, és az elemek hozzáadása, áthelyezése vagy eltávolítása során változhatnak.
A felhasználói felület automatizálási szolgáltatói úgy támogatják a felhasználói felület automatizálási fáját, hogy egy töredéken belüli elemek közötti navigációt valósítanak meg, amely egy gyökérből (általában egy ablakban üzemeltetett) és egy részhalmazból áll. A szolgáltatók azonban nem foglalkoznak az egyik vezérlőről a másikra való navigálással. Ezt a felhasználói felület Automation-magja kezeli az alapértelmezett ablakszolgáltatók információinak használatával.
Az Automation-fa nézetei
A felhasználói felület automatizálási fája szűrhető, hogy olyan nézeteket hozzon létre, amelyek csak az adott ügyfél számára releváns objektumokat AutomationElement tartalmazzák. Ez a megközelítés lehetővé teszi az ügyfelek számára, hogy a felhasználói felület automatizálásával bemutatott struktúrát az igényeiknek megfelelően testre szabják.
Az ügyfél kétféleképpen szabja testre a nézetet: hatókörkezeléssel és szűréssel. A hatókörkezelés a nézet mértékét határozza meg egy alapelemtől kezdve: előfordulhat például, hogy az alkalmazás csak az asztal közvetlen gyermekeit vagy egy alkalmazásablak összes leszármazottját szeretné megtalálni. A szűrés határozza meg a nézetbe felvenni kívánt elemek típusait.
A felhasználói felületi automatizálási szolgáltatók támogatják a szűrést azáltal, hogy tulajdonságokat határoznak meg az elemeken, beleértve a IsControlElementProperty és IsContentElementProperty tulajdonságokat is.
A felhasználói felület automatizálása három alapértelmezett nézetet biztosít. Ezeket a nézeteket a végrehajtott szűrés típusa határozza meg; bármely nézet hatókörét az alkalmazás határozza meg. Emellett az alkalmazás más szűrőket is alkalmazhat a tulajdonságokra; például csak engedélyezett vezérlők belefoglalása vezérlőnézetben.
Nyers nézet
A felhasználói felület automatizálási struktúrájának nyers nézete az összes AutomationElement objektum teljes fája, amelynél az asztal a gyökér. A nyers nézet szorosan követi az alkalmazás natív programozott struktúráját, ezért a legrészletesebb nézet érhető el. Ez az a bázis is, amelyre a fa többi nézete épül. Mivel ez a nézet a mögöttes felhasználói felület keretrendszerétől függ, a WPF-gomb nyers nézete eltérő nyers nézettel rendelkezik, mint a Win32 gomb.
A nyers nézet úgy érhető el, hogy tulajdonságok megadása nélkül keres elemeket, vagy a RawViewWalker fa használatával navigál.
Vezérlőnézet
A felhasználói felület automatizálási fájának vezérlőnézete leegyszerűsíti a kisegítő technológiai termék feladatát, amely leírja a felhasználói felületet a végfelhasználónak, és segít a végfelhasználónak az alkalmazással való interakcióban, mivel szorosan megfelel a végfelhasználó által érzékelt felhasználói felületi struktúrának.
A vezérlő nézet a nyers nézet részhalmaza. Tartalmazza a nyers nézet összes olyan felhasználói felületi elemét, amelyet a végfelhasználó interaktívként értelmezne, vagy hozzájárulna a felhasználói felületen található vezérlő logikai szerkezetéhez. Olyan felhasználói felületi elemek, amelyek hozzájárulnak a felhasználói felület logikai szerkezetéhez, de maguk nem interaktívak, olyan elemtárolók, mint például a listanézet fejlécei, az eszköztárak, a menük és az állapotsor. A nem interaktív elemek, amelyeket egyszerűen elrendezésre vagy díszítő célokra használnak, nem jelennek meg a vezérlőnézetben. Ilyen például egy panel, amely csak a párbeszédpanel vezérlőinek elrendezésére szolgál, de önmagában nem tartalmaz semmilyen információt. A vezérlőnézetben megjelenő nem interaktív elemek a párbeszédpanelen információkat és statikus szöveget tartalmazó ábrák. A vezérlőnézetben szereplő nem interaktív elemek nem kapják meg a billentyűzet fókuszát.
A vezérlőnézetet úgy szerezheti be, hogy megkeresi azokat az elemeket, amelyeknek a IsControlElement tulajdonsága be van állítva true
, vagy a ControlViewWalker segítségével navigál a fán.
Tartalomnézet
A felhasználói felület automatizálási fájának tartalomnézete a vezérlőnézet részhalmaza. Olyan felhasználói felületi elemeket tartalmaz, amelyek a felhasználói felületen közvetítik a valódi információkat, beleértve a billentyűzetfókuszt fogadó felhasználói felületi elemeket, valamint néhány olyan szöveget, amely nem címke a felhasználói felületen. A legördülő lista értékei például azért jelennek meg a tartalomnézetben, mert azok a végfelhasználó által használt információkat jelölik. A tartalomnézetben a kombinált lista és a lista is olyan felhasználói felületi elemek gyűjteményeként jelenik meg, ahol egy vagy akár több elem is kijelölhető. Az a tény, hogy az egyik mindig nyitva van, és ki lehet bontani és összecsukni, nem releváns a tartalomnézetben, mert úgy van kialakítva, hogy megjelenítse a felhasználó számára megjelenített adatokat vagy tartalmakat.
A tartalomnézetet úgy szerezheti be, hogy megkeresi azokat az elemeket, amelyekre a IsContentElement tulajdonság be van állítvatrue
, vagy a fán való navigáláshoz használja.ContentViewWalker