Как программно прочитать значение присоединенного свойства зависимости? - PullRequest
6 голосов
/ 11 июля 2011

Итак, у меня есть кнопка с AutomationId (используется Microsoft UI Automation) примерно так:

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

Программно у меня есть кнопка (myButton) в коде, как мне получить значениеК этой кнопке прикреплено свойство AutomationId?

Ответы [ 3 ]

8 голосов
/ 11 июля 2011

DependencyObject.GetValue должны выполнить работу:

string automationId = 
    (string)myButton.GetValue(AutomationProperties.AutomationIdProperty);
1 голос
/ 11 июля 2011

Принципиально, как и в случае с любым другим DependencyProperty;обычные свойства вашего объекта служат (или должен служить) в качестве простых оболочек вокруг DependencyObject.GetValue и .SetValue, поэтому все, что вам нужно сделать, это вызвать GetValue самостоятельно и передать свой экземпляр static readonlyвашего прилагается DependencyProperty:

var value = myButton.GetValue(yourDependencyProperty);
0 голосов
/ 11 июля 2011
var automationId = AutomationProperties.GetAutomationId(myButton);

Как обычно для свойств зависимостей, этот метод-обертка будет выполнять для вас вызов DependencyObject.GetValue и приведение значения к правильному типу.

...