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.
Ez a témakör a megvalósításra IInvokeProvidervonatkozó irányelveket és konvenciókat ismerteti, beleértve az eseményekre és tulajdonságokra vonatkozó információkat is. A további hivatkozásokra mutató hivatkozások a témakör végén jelennek meg.
A InvokePattern vezérlőminta olyan vezérlők támogatására szolgál, amelyek aktiváláskor nem tartják fenn az állapotot, hanem egyetlen, egyértelmű műveletet kezdeményeznek vagy hajtanak végre. Az állapotot fenntartó vezérlőknek, mint például a jelölőnégyzeteknek és a választógomboknak, implementálniuk kell a IToggleProvider és a ISelectionItemProvider megfelelően. A meghívási vezérlőmintát megvalósító vezérlők példáiért lásd: Vezérlőminta-megfeleltetés a felhasználói felület automation-ügyfelei számára.
Végrehajtási irányelvek és egyezmények
A hívásvezérlési minta megvalósításakor vegye figyelembe a következő irányelveket és konvenciókat.
A vezérlők akkor implementálnak IInvokeProvider , ha ugyanez a viselkedés nem érhető el egy másik vezérlőminta-szolgáltatón keresztül. Ha például a Invoke metódus ugyanazt a műveletet hajtja végre egy vezérlőn, mint a Expand vagy Collapse metódus, akkor a vezérlőnek nem szabad implementálnia a IInvokeProvider metódust.
A vezérlők meghívása általában az ENTER kattintásával vagy dupla kattintásával vagy lenyomásával, az előre definiált billentyűparancsokkal vagy a billentyűleütések valamilyen alternatív kombinációjával történik.
InvokedEvent akkor keletkezik, amikor egy vezérlő aktiválódik, válaszként arra, hogy az a hozzá tartozó műveletet végrehajtotta. Ha lehetséges, az eseményt azután kell elindítani, hogy a vezérlő befejezte a műveletet, és blokkolás nélkül vissza kell adni. A meghívott eseményt a meghívási kérés kiszolgálása előtt kell elindítani a következő esetekben:
A művelet befejezéséig nem lehet vagy praktikus várni.
A művelet felhasználói beavatkozást igényel.
A művelet időigényes, és a hívó ügyfél jelentős ideig blokkolva lesz.
Ha a kontroll invokálása jelentős mellékhatásokat okoz, ezeket a mellékhatásokat a HelpText tulajdonságon keresztül kell felfedni. Bár a Invoke nincs társítva kijelöléssel, előfordulhat, hogy a Invoke egy másik vezérlőelemet választ ki.
A rámutatási (vagy egérmutatós) effektusok általában nem számítanak aktivált eseménynek. Azonban azoknak a vezérlőknek, amelyek az egérmutató fölötti állapoton alapuló műveletet hajtanak végre (szemben a vizuális hatás okozásával), támogatniuk kell a InvokePattern vezérlőmintát.
Megjegyzés:
Ez az implementáció akadálymentességi probléma, ha a vezérlő csak egérrel kapcsolatos mellékhatás miatt hívható meg.
A vezérlőelem meghívása eltér az elem kiválasztásától. A vezérlőtől függően azonban az invokálás azt okozhatja, hogy az elem mellékhatásként van kiválasztva. Ha például egy Microsoft Word-dokumentumlistaelemet invokálással a Dokumentumok mappában, akkor mindkettő kiválasztja az elemet, és megnyitja a dokumentumot.
Egy elem a meghívás után azonnal eltűnhet a felhasználói felület automation fájából. Az eseményvisszahívás által biztosított elemtől való információkérés ennek következtében meghiúsulhat. A gyorsítótárazott adatok előzetes beolvasása az ajánlott kerülő megoldás.
A vezérlők több vezérlőmintát is implementálhatnak. A Microsoft Excel eszköztár Kitöltőszín vezérlőeleme például mind a InvokePattern mind a ExpandCollapsePattern vezérlőmintákat implementálja. ExpandCollapsePattern megnyitja a menüt, és a InvokePattern a választott színnel kitölti az aktív kijelölést.
Az IInvokeProvider szükséges tagjai
A megvalósításhoz IInvokeProvidera következő tulajdonságokra és metódusokra van szükség.
| Kötelező tagok | Tagtípus | Jegyzetek |
|---|---|---|
| Invoke | módszer |
Invoke aszinkron hívás, és azonnal vissza kell térnie blokkolás nélkül. Ez a viselkedés különösen kritikus az olyan vezérlők esetében, amelyek meghíváskor közvetlenül vagy közvetve elindítanak egy modális párbeszédpanelt. Az eseményt kezdeményező UI Automation-ügyfél a modális párbeszédpanel bezárásáig le lesz tiltva. |
Kivételek
A szolgáltatóknak a következő kivételeket kell megadniuk.
| Kivétel típusa | Állapot |
|---|---|
| ElementNotEnabledException | Ha a vezérlő nincs engedélyezve. |
Lásd még
- felhasználói felület automatizálási szabályozási mintáinak áttekintése
- Felhasználói felület automatizálási vezérlési minták támogatása
- Felhasználói felület automatizálási vezérlőminták ügyfeleknek
- Vezérlő meghívása a felhasználói felület automatizálásával
- felhasználói felület automatizálási fájának áttekintése
- Gyorsítótárazás használata a felhasználói felület automatizálásban