2011-07-11 9 views
6

तो मैं एक AutomationId (माइक्रोसॉफ्ट यूआई स्वचालन द्वारा प्रयुक्त) तो जैसे के साथ एक बटन है:मैं एक संलग्न निर्भरता संपत्ति के मूल्य को प्रोग्रामेटिक रूप से कैसे पढ़ूं?

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

प्रोग्राम मैं कोड में बटन (myButton) है, मैं 'AutomationId' का मान कैसे मिलता है उस बटन से जुड़ी संपत्ति? किसी भी अन्य 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 खुद के और अपने से अपने static readonly उदाहरण DependencyProperty संलग्न में पारित:

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

धन्यवाद, बहुत अच्छा काम किया। – halcharger

+5

आसानी से 'AutomationProperties.GetAutomationId (myButton) को कॉल करके कास्ट से बच सकते हैं और कोड पठनीयता में सुधार कर सकते हैं। –

0
var automationId = AutomationProperties.GetAutomationId(myButton); 

निर्भरता गुणों के लिए मानक के रूप में, यह रैपर विधि आपके लिए DependencyObject.GetValue पर कॉल करने का काम करेगी, और सही प्रकार के मान को कास्टिंग करेगी।

संबंधित मुद्दे