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


Folyamatvezérlők

A folyamatjelzők visszajelzést küldenek a felhasználónak arról, hogy folyamatban van egy hosszú ideig futó művelet. Ez azt jelentheti, hogy a felhasználó nem tud együttműködni az alkalmazással, ha az állapotjelző látható, és azt is jelezheti, hogy mennyi ideig tarthat a várakozási idő a használt jelzőtől függően.

A folyamat típusai

Két vezérlővel jelenítheti meg a felhasználót, hogy folyamatban van egy művelet – egy folyamatjelzőn vagy egy ProgressRingen keresztül. Mind a ProgressBar, mind a ProgressRing két állapottal rendelkezik, amelyek közlik, hogy a felhasználó használhatja-e az alkalmazást, vagy sem.

  • A meghatározott állapot mind a ProgressBar, mind a ProgressRing esetében a tevékenység százalékos készültségét mutatja. Ezt olyan művelet során kell használni, amelynek időtartama ismert, de a folyamat nem akadályozhatja a felhasználó és az alkalmazás közötti interakciót.
  • A folyamatjelző meghatározatlan állapota azt mutatja, hogy egy művelet folyamatban van, nem blokkolja az alkalmazással való felhasználói interakciót, és a befejezési idő ismeretlen.
  • A ProgressRing meghatározatlan állapota azt mutatja, hogy egy művelet folyamatban van, letiltja a felhasználók interakcióját az alkalmazással, és a befejezési idő ismeretlen.

Emellett a folyamatjelző csak olvasható, és nem interaktív. Ez azt jelenti, hogy a felhasználó nem tudja közvetlenül meghívni vagy használni ezeket a vezérlőket.

Vezérlő Display
Folyamatjelző (meghatározatlan) ProgressBar meghatározhatatlan
Folyamatjelző meghatározása ProgressBar determinálja a
Határozatlan állapotjelző gyűrű Határozatlan állapotjelző gyűrű állapot
A progressring meghatározása ProgressRing állapotának meghatározása

Ez a megfelelő vezérlő?

Nem mindig egyértelmű, hogy milyen vezérlőt vagy milyen állapotot (determinátum vagy meghatározatlan) kell használni, amikor megpróbál mutatni valamit történik. Néha egy tevékenység elég nyilvánvaló ahhoz, hogy egyáltalán ne igényeljen folyamatvezérlést – és néha még akkor is, ha egy folyamatvezérlőt használ, szükség van egy szövegsorra, hogy elmagyarázza a felhasználónak, hogy milyen művelet van folyamatban.

Folyamatjelző

  • A vezérlőelemnek van meghatározott időtartama vagy kiszámítható vége?

    Ezután használjon determinált progressbart, és frissítse a százalékos értéket vagy az értéket ennek megfelelően.

  • Folytathatja a felhasználó a művelet előrehaladásának figyelése nélkül?

    Ha a folyamatjelző sáv használatban van, az interakció nem modális, ami általában azt jelenti, hogy a felhasználót nem blokkolja a művelet befejezése, és a művelet befejezéséig más módokon is használhatja az alkalmazást.

  • Kulcsszavak

    Ha a művelet ezekre a kulcsszavakra esik, vagy ha olyan szöveget jelenít meg, amely a kulcsszavakkal egyező előrehaladási művelet mellett látható, fontolja meg a folyamatjelző használatát.

    • betöltés...
    • lekérése
    • Munka...

Előrehaladás-gyűrű

  • A művelet hatására a felhasználó megvárja a folytatást?

    Ha egy művelethez szükség van arra, hogy az alkalmazással való valamennyi (vagy annak nagy része) interakció megvárja a befejezést, akkor jobb választás a határozatlan ProgressRing használata.

    • A vezérlőelemnek van meghatározott időtartama vagy kiszámítható vége?

    Ha azt szeretné, hogy a vizualizáció sáv helyett gyűrű legyen, használjon determinált progressringet, és ennek megfelelően frissítse a százalékot vagy az értéket.

  • Az alkalmazás arra vár, hogy a felhasználó elvégezze a feladatot?

    Ha igen, használjon határozatlan progressringet, mivel a felhasználó számára ismeretlen várakozási időt jeleznek.

  • Kulcsszavak

    Ha művelete kapcsolódik ezekhez a kulcsszavakhoz, vagy ha a kulcsszavaknak megfelelő folyamat mellett szöveget jelenít meg, fontolja meg a ProgressRing használatát.

    • frissítő
    • Bejelentkezés folyamatban...
    • Csatlakozás...

Nincs szükség előrehaladási jelzésre

  • A felhasználónak tudnia kell, hogy valami történik?

    Ha például az alkalmazás letölt valamit a háttérben, és a felhasználó nem kezdeményezte a letöltést, a felhasználónak nem feltétlenül kell tudnia róla.

  • A művelet olyan háttértevékenység, amely nem blokkolja a felhasználói tevékenységet, és minimális (de még mindig némi) érdeklődést jelent a felhasználó számára?

    Szöveg használata, ha az alkalmazás olyan feladatokat hajt végre, amelyeknek nem kell állandóan láthatónak lenniük, de az állapotot továbbra is meg kell jelenítenie.

  • A felhasználót csak a művelet befejezése érdekli?

    Néha a legjobb, ha csak akkor jelenik meg értesítés, amikor a művelet befejeződött, vagy egy vizuális jelzést adunk arra, hogy a művelet azonnal befejeződött, miközben az utolsó simítások a háttérben történnek.

Az előrehaladás vezérlési legjobb gyakorlatai

Néha a legjobb, ha vizuálisan ábrázolja, hogy mikor és hol érdemes használni ezeket a különböző folyamatvezérlőket:

ProgressBar – Meghatározott

ProgressBar determinált példa

Az első példa a determinált ProgressBar. Ha a művelet időtartama ismert, telepítéskor, letöltéskor, beállításkor stb. a Determinate ProgressBar a legjobb.

Folyamatjelző – Határozatlan

Folyamatjelző határozatlan példa

Ha nem tudja, mennyi ideig tart a művelet, használjon határozatlan progressbart. A ProgressBarok a virtualizált lista kitöltésekor is jól használhatók, és zökkenőmentes vizuális átmenetet hoznak létre a meghatározatlan ProgressBar és a meghatározott ProgressBar között.

  • A művelet virtualizált gyűjteményben található?

    Ha igen, ne helyezzen folyamatjelzőt az egyes listaelemekre a megjelenésükkor. Ehelyett használjon egy folyamatjelző sávot, és helyezze a betöltendő elemek gyűjteményének tetejére, és mutassa meg, hogy az elemek beolvasása folyamatban van.

ProgressRing – Határozatlan

ProgressRing határozatlan példa

A határozatlan ProgressRing akkor használatos, ha az alkalmazással végzett további felhasználói interakció leáll, vagy az alkalmazás a felhasználó bemenetére vár a folytatáshoz. A "bejelentkezés…" példa tökéletes forgatókönyv a ProgressRinghez, mivel a felhasználó nem folytathatja az alkalmazás használatát, amíg a bejelentkezés be nem fejeződik.

Haladásgyűrű – Meghatározott

ProgressRing determinált példa

Ha a művelet időtartama ismert, és a gyűrűs vizualizációt kívánja használni, telepítéskor, letöltéskor, beállításkor stb. a Determinate ProgressRing a legjobb.

Folyamatvezérlő létrehozása

Nyissa meg a WinUI 3 Katalógus alkalmazást, és tekintse meg a ProgressBar vagy ProgressRing.

WinUI 3 Katalógus ikon A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.

Mindkét folyamatvezérlő meglehetősen egyszerű; a vezérlők egyes vizuális funkciói azonban nem egyértelműek a testreszabáshoz.

A ProgressRing méretezése

A ProgressRing mérete a kívánt méretre méretezhető, de legfeljebb 20x20epx méretű lehet. A ProgressRing átméretezéséhez meg kell adnia annak magasságát és szélességét. Ha csak a magasság vagy a szélesség van beállítva, a vezérlő a minimális méretezést (20x20epx) feltételezi – ezzel szemben ha a magasság és a szélesség két különböző méretre van állítva, a kisebb méreteket kell feltételezni. Annak érdekében, hogy a ProgressRing megfeleljen az igényeinek, állítsa a magasságot és a szélességet is ugyanarra az értékre:

<ProgressRing Height="100" Width="100"/>

A ProgressRing láthatóvá és animálhatóvá tétele érdekében az IsActive tulajdonságot igaz értékre kell állítania:

<ProgressRing IsActive="True" Height="100" Width="100"/>
progressRing.IsActive = true;

A folyamatjelzők színezése

Alapértelmezés szerint a folyamatjelzők fő színezése a rendszer jelölőszínére van állítva. Az ecset felülbírálásához egyszerűen módosítsa az előtér tulajdonságot bármelyik vezérlőn.

<ProgressRing IsActive="True" Height="100" Width="100" Foreground="Blue"/>
<ProgressBar Width="100" Foreground="Green"/>

A ProgressRing előtérszínének módosítása megváltoztatja a gyűrű kitöltőszínét. A Folyamatjelző előtér tulajdonsága megváltoztatja a sáv kitöltési színét – a sáv kitöltetlen részének módosításához egyszerűen felülbírálja a háttértulajdonságot.

Várakozási kurzor megjelenítése

Néha a legjobb, ha csak egy rövid várakozási kurzort jelenít meg, amikor az alkalmazásnak vagy műveletnek időre van szüksége a gondolkodáshoz, és jeleznie kell a felhasználónak, hogy a várakozási kurzort megjelenítő alkalmazás vagy terület nem használható addig, amíg a várakozási kurzor el nem tűnt.

Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Wait, 10);