Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İlerleme denetimi, kullanıcıya uzun süre çalışan bir işlemin devam ettiğini belirten geri bildirim sağlar. Bu, ilerleme göstergesi görünür olduğunda kullanıcının uygulamayla etkileşim kuramayacağı ve kullanılan göstergeye bağlı olarak bekleme süresinin ne kadar sürebileceğini de gösterebileceği anlamına gelebilir.
İlerleme türleri
Kullanıcıya bir işlemin devam ettiğini gösteren iki denetim vardır: ProgressBar aracılığıyla veya ProgressRing aracılığıyla. Hem ProgressBar hem de ProgressRing, kullanıcının uygulamayla etkileşime girip geçemediğini belirten iki durum vardır.
- Hem ProgressBar hem de ProgressRing için belirlenen durum, görevin tamamlanma yüzdesini gösterir. Bu, süresi bilinen bir işlem sırasında kullanılmalıdır, ancak ilerleme durumu kullanıcının uygulamayla etkileşimini engellememelidir.
- ProgressBar için belirsiz durum, bir işlemin devam ettiğini, uygulamayla kullanıcı etkileşimini engellemediğini ve tamamlanma süresinin bilinmediğini gösterir.
- ProgressRing için belirsiz durum, bir işlemin devam ettiğini, uygulamayla kullanıcı etkileşimini engellediğini ve tamamlanma süresinin bilinmediğini gösterir.
Ayrıca, ilerleme denetimi salt okunurdur ve etkileşimli değildir. Bu, kullanıcının bu denetimleri doğrudan çağıramayacağı veya kullanamayacağı anlamına gelir.
| Yönetim | Ekran |
|---|---|
| Belirsiz İlerleme Çubuğu |
|
| ProgressBar'ı belirleme |
|
| Belirsiz İlerleme Halkası |
|
| Belirli İlerleme Çubuğu |
|
Doğru kontrol bu mu?
Bir şeyin gerçekleştiğini göstermeye çalışırken hangi denetimin veya hangi durumun (belirlenimsiz ve belirsiz) kullanılacağı her zaman açık değildir. Bazen bir görev, ilerleme denetimi gerektirmeyebilecek kadar açıktır ve bazen ilerleme denetimi kullanılsa bile kullanıcıya hangi işlemin devam ettiğini açıklamak için bir metin satırı gereklidir.
İlerleme Çubuğu
Denetimin tanımlı bir süresi mi yoksa tahmin edilebilir bir sonu mu var?
Ardından belirlenen bir ProgressBar kullanın ve yüzdeyi veya değeri uygun şekilde güncelleştirin.
Kullanıcı işlemin ilerleme durumunu izlemek zorunda kalmadan devam edebilir mi?
ProgressBar kullanımda olduğunda etkileşim kalıcı değildir; bu genellikle kullanıcının bu işlemin tamamlanmasıyla engellenmediği ve bu özellik tamamlanana kadar uygulamayı başka şekillerde kullanmaya devamebileceği anlamına gelir.
Anahtar Sözcükler
İşleminiz bu anahtar sözcüklerin etrafındaysa veya ilerleme işlemiyle birlikte bu anahtar sözcüklerle eşleşen bir metin gösteriyorsanız; ProgressBar kullanmayı göz önünde bulundurun:
- Yükleme...
- Veri Alma
- Çalışma...
İlerleme Halkası
İşlem kullanıcının devam etmek için beklemesine neden olacak mı?
Bir işlem tamamlanana kadar uygulama ile tüm etkileşimin (veya büyük bir kısmının) beklemesini gerektiriyorsa, belirsiz İlerleme Halkası daha iyi bir seçimdir.
- Denetimin tanımlı bir süresi mi yoksa tahmin edilebilir bir sonu mu var?
Görselin çubuk yerine halka olmasını istiyorsanız determinate ProgressRing kullanın ve yüzdeyi veya değeri uygun şekilde güncelleştirin.
Uygulama kullanıcının bir görevi tamamlanmasını mı bekliyor?
Bu durumda, belirsiz bir ProgressRing kullanın çünkü kullanıcı için bilinmeyen bir bekleme süresini belirtmeleri amaçlandı.
Anahtar Sözcükler
İşleminiz bu anahtar sözcüklerin etrafındaysa veya bu anahtar sözcüklerle eşleşen ilerleme işlemiyle birlikte metin gösteriyorsanız; ProgressRing kullanmayı göz önünde bulundurun:
- Yenileme
- Oturum açma...
- Bağlanma...
İlerleme göstergesi gerekmez
Kullanıcının bir şeyler olduğunu bilmesi gerekiyor mu?
Örneğin, uygulama arka planda bir şey indiriyorsa ve kullanıcı indirmeyi başlatmadıysa, kullanıcının bunu bilmesi gerekmez.
İşlem, kullanıcı etkinliğini engellemeyen ve kullanıcıya çok az (ama yine de biraz) ilgi gösteren bir arka plan etkinliği mi?
Uygulamanız sürekli görünür olması gerekmeyen görevleri gerçekleştirirken metin kullanın, ancak yine de durumu göstermeniz gerekir.
Kullanıcı yalnızca işlemin tamamlanmasını mı önemsiyor?
Bazen yalnızca işlem tamamlandığında bir bildirim göstermek veya işlemin hemen tamamlandığını belirten bir görsel vermek ve son rötuşları arka planda çalıştırmak en iyisidir.
İlerleme denetimleri en iyi yöntemleri
Bazen bu farklı ilerleme denetimlerinin ne zaman ve nerede kullanılacağına dair bazı görsel gösterimleri görmek en iyisidir:
İlerleme Çubuğu - Belirli
İlk örnek, determinate ProgressBar'dır. İşlemin süresi bilindiğinde, yükleme, indirme veya ayarlama işlemlerinde belirli ilerleme çubuğu en iyisidir.
ProgressBar - Belirsiz
İşlemin ne kadar süreceği bilinmediğinde, belirsiz bir ProgressBar kullanın. Belirsiz ProgressBar'lar, sanallaştırılmış bir listeyi doldururken ve belirsizden belirli bir ProgressBar'a sorunsuz bir görsel geçiş oluştururken de iyidir.
İşlem sanallaştırılmış bir koleksiyonda mı?
Öyleyse, her liste öğesine göründükleri sırada bir ilerleme göstergesi koymayın. Bunun yerine, bir ProgressBar kullanın ve öğelerin getirildiğini göstermek için bu çubuğu yüklenen öğe koleksiyonunun en üstüne yerleştirin.
ProgressRing - Belirsiz
Belirsiz ilerleme halkası, uygulamayla kullanıcı etkileşimi tamamen durdurulduğunda veya uygulama, kullanıcıdan devam etmesi için bir giriş beklediğinde kullanılır. "Oturum açma..." yukarıdaki örnek ProgressRing için mükemmel bir senaryodur, kullanıcı işaret tamamlanana kadar uygulamayı kullanmaya devam edemez.
İlerleme Halkası - Belirlenmiş
İşlemin süresi bilindiğinde ve halka görseli tercih edildiğinde, yükleme, indirme, ayarlama vb. işlemlerde, belirli bir ilerleme gösteren ProgressRing en iyi seçenektir.
İlerleme kontrolü oluşturma
- Önemli API'ler:ProgressBar sınıfı, IsIndeterminate özelliği, ProgressRing sınıfı, IsActive özelliği
WinUI 3 Galeri uygulamasını açın ve ProgressBar veya ProgressRing bölümüne bakın.
![]()
WinUI 3 Galeri uygulaması, WinUI denetimlerinin ve özelliklerinin etkileşimli örneklerini içerir. uygulamayı Microsoft Store adresinden alın veya GitHub üzerindeki kaynak koduna göz atın.
her iki ilerleme denetimi de oldukça basittir; ancak denetimlerin bazı görsel özelliklerinin özelleştirileceği açıkça belli değildir.
ProgressRing'i Boyutlandırma
ProgressRing istediğiniz kadar büyük olabilir, ancak yalnızca 20x20epx kadar küçük olabilir. ProgressRing'i yeniden boyutlandırmak için yüksekliği ve genişliğini ayarlamanız gerekir. Yalnızca yükseklik veya genişlik ayarlanırsa, denetim minimum boyutlandırmayı (20x20epx) varsayar; bunun tersine yükseklik ve genişlik iki farklı boyuta ayarlanırsa, boyutların küçük olduğu varsayılır. ProgressRing'inizin ihtiyaçlarınıza uygun olduğundan emin olmak için hem yüksekliği hem de genişliği aynı değere ayarlayın:
<ProgressRing Height="100" Width="100"/>
ProgressRing'inizi görünür hale getirmek ve animasyon eklemek için IsActive özelliğini true olarak ayarlamanız gerekir:
<ProgressRing IsActive="True" Height="100" Width="100"/>
progressRing.IsActive = true;
İlerleme denetimlerini renklendirma
Varsayılan olarak, ilerleme denetimlerinin ana renklendirmesi sistemin vurgu rengine ayarlanır. Bu fırçayı geçersiz kılmak için her iki kontrol öğesinde de ön plan özelliğini değiştirmeniz yeterlidir.
<ProgressRing IsActive="True" Height="100" Width="100" Foreground="Blue"/>
<ProgressBar Width="100" Foreground="Green"/>
ProgressRing için ön plan renginin değiştirilmesi halkanın dolgu rengini değiştirir. ProgressBar için ön plan özelliği çubuğun dolgu rengini değiştirir; çubuğun doldurulmamış bölümünü değiştirmek için arka plan özelliğini geçersiz kılmanız yeterlidir.
Bekleme imlecini gösterme
Bazen, uygulamanın veya işlemin düşünmek için zamana ihtiyacı olduğunda kısa bir bekleme imleci göstermek en iyisidir ve kullanıcıya bekleme imlecinin görünür olduğu uygulama veya alanın bekleme imleci kaybolana kadar etkileşime alınmaması gerektiğini belirtmeniz gerekir.
Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Wait, 10);
İlgili makaleler
Windows developer