如何以编程方式读取附加依赖项属性的值?

时间:2011-07-11 14:59:10

标签: c# wpf dependency-properties

所以我有一个带有AutomationId的Button(由Microsoft UI Automation使用),如下所示:

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

以编程方式,我在代码中有按钮(myButton),如何获取附加到该按钮的'AutomationId'属性的值?

3 个答案:

答案 0 :(得分:8)

DependencyObject.GetValue应该做的工作:

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

答案 1 :(得分:1)

从根本上说,就像你对任何其他DependencyProperty一样;您的对象上的普通属性(或应该提供)作为DependencyObject.GetValue.SetValue的简单包装,所以您需要做的就是自己调用GetValue和传递您所附static readonly的{​​{1}}个实例:

DependencyProperty

答案 2 :(得分:0)

var automationId = AutomationProperties.GetAutomationId(myButton);

作为依赖项属性的标准,这个包装器方法将为您调用DependencyObject.GetValue,并将值转换为正确的类型。