Megosztás a következőn keresztül:


A felhasználói felület automatizálási rácsvezérlési mintának megvalósítása

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 IGridProvidermegvalósítására vonatkozó irányelveket és konvenciókat ismerteti, beleértve a tulajdonságokra, módszerekre és eseményekre vonatkozó információkat. A további hivatkozásokra mutató hivatkozások az áttekintés végén jelennek meg.

A GridPattern vezérlőminta olyan vezérlők támogatására szolgál, amelyek tárolóként működnek egy gyermekelemeket tartalmazó gyűjtemény számára. Ennek az elemnek a gyermekei implementálnia kell IGridItemProvider, és rendszerezve kell lenniük egy olyan kétdimenziós logikai koordinátarendszerben, amely sorok és oszlopok szerint bejárható. A 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 automatizálási ügyfelei számára.

Végrehajtási irányelvek és egyezmények

A rácsvezérlési minta megvalósításakor vegye figyelembe a következő irányelveket és konvenciókat:

  • A rácskoordináták nulla alapúak, és a bal felső (vagy a területi beállításoktól függően jobb felső cella) koordinátákkal rendelkeznek (0, 0).

  • Ha egy cella üres, a UI automatizálási elemet továbbra is vissza kell adni a cella ezen ContainingGrid tulajdonságának támogatása érdekében. Ez akkor lehetséges, ha a rács gyermekelemeinek elrendezése hasonlít egy egyenetlen tömbhöz (lásd az alábbi példát).

A Windows Intéző nézete egy egyenetlen elrendezést mutat. Példa egy olyan rácsvezérlőre, amely üres koordinátákat tartalmaz.

  • Az egyetlen elemet tartalmazó rácsot továbbra is alkalmazni kell IGridProvider , ha logikailag rácsnak tekintik. A rácsban lévő gyermekelemek száma nem számít.

  • A rejtett sorok és oszlopok, a szolgáltatói megvalósítástól függően, betölthetők a felhasználói felület automatizálási fájában, és ezért megjelenhetnek a RowCount és ColumnCount tulajdonságokban. Ha a rejtett sorok és oszlopok még nincsenek betöltve, nem szabad őket megszámolni.

  • IGridProvider nem teszi lehetővé egy rács aktív kezelését; ITransformProvider-t meg kell valósítani a funkció engedélyezéséhez.

  • A StructureChangedEventHandler segítségével figyelheti a rács szerkezeti vagy elrendezési változásait, például a hozzáadott, eltávolított vagy egyesített cellákat.

  • Egy AutomationFocusChangedEventHandler használható egy rács elemein vagy celláin történő bejárás nyomon követésére.

Az IGridProvider szükséges tagjai

Az IGridProvider-felület implementálásához a következő tulajdonságokra és módszerekre van szükség.

Kötelező tagok típus Jegyzetek
RowCount Ingatlan Egyik sem
ColumnCount Ingatlan Egyik sem
GetItem Metódus Egyik sem

Ez a vezérlőminta nem rendelkezik társított eseményekkel.

Kivételek

A szolgáltatóknak a következő kivételeket kell megadniuk.

Kivétel típusa Állapot
ArgumentOutOfRangeException GetItem

- Ha a kért sorkoordináta nagyobb, mint az RowCount oszlopkoordináta, vagy az oszlopkoordináta nagyobb, mint a ColumnCount.
ArgumentOutOfRangeException GetItem

- Ha a kért sor- vagy oszlopkoordináták egyike nullánál kisebb.

Lásd még