2011-07-11 15 views
6

Yani şöyle (Microsoft UI Otomasyon tarafından kullanılan) bir AutomationId ile Düğmesi vardır: ProgramlıBağlı bir bağımlılık özelliğinin değerini program aracılığıyla nasıl okuyabilirim?

<Button Name="myButton" AutomationId="myButtonAutomationID" 

, ben nasıl 'AutomationId' değerini alırım, kodda düğmesini (myButton) sahip Bu düğmeye bağlı özellik? tıpkı diğer DependencyProperty ile yaptığınız gibi, Temelde

string automationId = 
    (string)myButton.GetValue(AutomationProperties.AutomationIdProperty); 
+0

[Bu makaleyi inceleyin] (http://msdn.microsoft.com/en-US/library/system.windows.automation.automationelement.automationidproperty.aspx) –

cevap

7

DependencyObject.GetValue işi yapmalıyım senin nesne üzerinde sıradan özellikler hizmet (veya hizmet etmelidir) gibi basit sarmalayıcılarını DependencyObject.GetValue ve .SetValue etrafında, bu nedenle tüm yapmanız gereken çağrı GetValue kendinizi ve DependencyProperty ekli sizin static readonly örneği geçmek:

var value = myButton.GetValue(yourDependencyProperty); 
+0

Teşekkürler, harika çalıştı. – halcharger

+5

"AutomationProperties.GetAutomationId (myButton)" öğesini çağırarak, koddan kaçınıp kod okunabilirliğini artırabilirsiniz –

1

;:

0
var automationId = AutomationProperties.GetAutomationId(myButton); 

Bağımlılık özelliklerine ilişkin standart olarak, bu sarmalayıcı yöntem sizin için DependencyObject.GetValue numaralı çağrıyı yapacak ve değeri doğru türe çevirecektir.

İlgili konular