2011-07-26 21 views

cevap

6

LegacyIAccessible yeni ve .NET 4.0'da olduğu gibi .NET düzeyinde kullanılamaz. Ancak, change set 38718 numaralı telefonun buna destek eklediği daha yeni bir uygulamaya sahip bir project on CodePlex var.

Eğer kaynaktan projeyi derlemek zorunda olduğunu dikkat Be, son ikili sürüm bu içermek için çok eski maalesef ...

Ne yapmak istediğiniz bir şey gibi:

if ((bool) child.GetCurrentPropertyValue(AutomationElementIdentifiers.IsLegacyIAccessiblePatternAvailableProperty)) { 
    var pattern = ((LegacyIAccessiblePattern) child.GetCurrentPattern(LegacyIAccessiblePattern.Pattern)); 
    var state = pattern.GetIAccessible().accState; 

    // Do something with state... 
} 

Kaynak koddaki yorumlar, bunların Windows 7 için yeni özellikler olduğunu, ancak Windows XP SP3 ...

üzerinde çalıştığını söylüyor.

/AZ

+1

Ancak, .net4 ile çakışmaz mı? Kendi uygulaması vardır. Ben C# 'de acemiyim. Bu projeden yalnızca LegacyIAccessiblePattern.cs kullanabilir miyim veya http://uiautomationverify.codeplex.com/? – AlexGu

+0

Ben uiautomationverify ve pattern.GetIAccessible() null döndürdü denedim :( – AlexGu

+0

ama pattern.Current.State çalışıyor. Teşekkürler! – AlexGu