2011-07-11 14 views
6

は、だから私はそうのような(マイクロソフトUIオートメーションで使用される)たAutomationIDとボタンがあります。プログラム添付された依存関係プロパティの値をプログラムでどのように読み取るのですか?

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

を、私はどのように私は「たAutomationID」の値を得るのですか、コード内のボタン(myButtonという)を持っていますそのボタンに付けられたプロパティ?ただ、他のDependencyPropertyとあなたは同じように、基本的に

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

[この記事をチェック](http://msdn.microsoft.com/en-US/library/system.windows.automation.automationelement.automationidproperty.aspx) –

答えて

7

DependencyObject.GetValueは、仕事をする必要がありますあなたのオブジェクトの通常のプロパティは、サーブ(またはなるべき)DependencyObject.GetValue.SetValue周りのシンプルなラッパーとして、そのすべてを行う必要があるコールGetValueで自分自身を、あなたの添付DependencyPropertyのごstatic readonlyインスタンスを渡す:

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

ありがとう、素晴らしい仕事。 – halcharger

+5

「AutomationProperties.GetAutomationId(myButton)」を呼び出すだけで、キャストを回避し、コードの可読性を向上させることができます。 –

1

;:

0
var automationId = AutomationProperties.GetAutomationId(myButton); 

依存プロパティの標準として、このラッパーメソッドはDependencyObject.GetValueを呼び出し、正しい型に値をキャストするという仕事を行います。

関連する問題