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.
Bu konuda, sanallaştırılmış öğeler hakkında bilgi bulmak ve almak için ItemContainer ve VirtualizedItem denetim desenleri tarafından sağlanan işlevlerin nasıl kullanılacağı açıklanmaktadır.
- Sanallaştırma Genel Bakış
- Denetimin Sanallaştırma Nasıl Desteklediği
- İstemcilerin Sanallaştırılmış Öğeleri Bulma ve Gerçekleştirme
- Örnek
- İlgili konular
Sanallaştırmaya Genel Bakış
Çok sayıda alt öğe içeren denetimler, öğeleri verimli bir şekilde yönetmek için sanallaştırmayı kullanabilir. Sanallaştırma ile denetim, belirli bir zamanda öğelerin yalnızca bir alt kümesi için bellekte tam bilgi tutar. Genellikle alt küme yalnızca şu anda kullanıcı tarafından görülebilen öğeleri içerir. Kalan sanallaştırılmış öğelerle ilgili tüm bilgiler depolamada tutulur ve belleğe yüklenir veya denetimin ihtiyaç duyduğundan( örneğin, yeni öğeler kullanıcı tarafından görünür hale geldikçe) gerçekleştirilir.
Sanallaştırma kullanan denetimler bir sınamayı temsil eder, çünkü UI Otomasyonu ağacında yalnızca gerçekleştirilen öğeler Microsoft UI Otomasyonu öğeleri olarak tam olarak kullanılabilir. Sanallaştırılmış öğeler ağaçta olmadığından, bunlar hakkındaki bilgiler istemciler tarafından kullanılamaz. Sanallaştırılmış öğelerle ilgili bilgileri almak için istemcilerin, isteği öğeleri gerçekleştirmek üzere denetime aktarması için UI Otomasyonu'nu zorlayacak bir yola ihtiyacı vardır. Öğeler gerçekleştirildikten sonra, UI Otomasyonu onlar için UI Otomasyonu öğeleri oluşturabilir. UI Otomasyonu, istemcilerin sanallaştırılmış öğelerle çalışmasını sağlayan iki denetim deseni içerir: ItemContainer ve virtualizedItem .
Denetim Sanallaştırmayı Nasıl Destekler?
Sanallaştırılmış öğeler içerebilen tüm denetimler ItemContainer denetim desenini desteklemelidir. Ayrıca, sanallaştırılabilir herhangi bir öğenin VirtualizedItem denetim desenini desteklemesi gerekir. ItemContainer ve VirtualizedItem denetim desenleri tarafından kullanıma sunulan işlevlere IUIAutomationItemContainerPattern ve IUIAutomationVirtualizedItemPattern arabirimleri aracılığıyla istemciler erişebilir.
Müşteriler Sanallaştırılmış Öğeleri Bulma ve Hayata Geçirme
İstemciler, belirli bir özelliğin değerine göre kapsayıcıdaki alt öğeleri aramak için IUIAutomationItemContainerPattern::FindItemByProperty yöntemini kullanabilir. yöntemi, kapsayıcıdaki ilk öğeyi veya belirtilen öğeyi izleyen öğeyi de alabilir. Eşleşen bir alt öğe bulunursa, FindItemByProperty öğe için bir IUIAutomationElement arabirimi alır. Ancak, alt öğe sanallaştırılmışsa, IUIAutomationElement arabirimi bir yer tutucudur. UIA_E_ELEMENTNOTAVAILABLE hatası, istemci henüz kullanılamayan özellik değerlerini veya çağrı yöntemlerini almak için IUIAutomationElement arabirimini kullanmayı denediğinde oluşur. Bir yer tutucu aracılığıyla hangi özelliklerin veya yöntemlerin kullanılabildiği denetim uygulamasına bağlıdır. Yer tutucu için tek gereksinim, IUIAutomationVirtualizedItemPattern arabirimini desteklemektir.
UIA_E_ELEMENTNOTAVAILABLE hatası, istemciye bir öğenin sanallaştırılabileceğini gösteren bir göstergedir. İstemci, öğe için IUIAutomationVirtualizedItemPattern arabirimini alıp IUIAutomationVirtualizedItemPattern::Realize yöntemini çağırarak öğeyi gerçekleştirerek yanıt vermelidir. Bu başarılı olursa, IUIAutomationElement arabirimi kullanılabilir tüm uygun özelliklerle tamamen işlevseldir.
Denetim uygulamasına bağlı olarak, IUIAutomationVirtualizedItemPattern::Realize çağrısı denetimin öğeyi görünüme kaydırmasına neden olabilir. Ancak bir istemci, öğenin görünüme kayan veya görünür hale gelmesine güvenmemelidir. Öğenin görünür olduğundan emin olmak için istemci IUIAutomationScrollItemPattern::ScrollIntoView yöntemini kullanabilir.
Örnek
Sanallaştırma için UI Otomasyonu desteğinin nasıl kullanılacağını gösteren kod için bkz. Sanallaştırılmış Öğe Alma.
İlgili konular