2011-03-21 21 views
30

शायद यह एक बेवकूफ सवाल है, लेकिन मुझे जवाब नहीं मिल रहा है: निम्नलिखित xaml में CommandParameter बाध्यकारी क्या है? या सामान्य रूप से, "{Binding}" का क्या अर्थ है?डब्ल्यूपीएफ बाइंडिंग कमांड पैरामीटर = "{बाइंडिंग}"

<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}" 
     CommandParameter="{Binding}"/> 

उत्तर

49

{Binding ...} एक मार्कअप एक्सटेंशन है।
अपने सामान्य रूप में यह {Binding Path=someProperty, ...} (या इसका संक्षिप्त रूप {Binding someProperty, ...}) जैसे पथ लेता है।
तो {Binding} में पथ खाली है जिसका मतलब है कि बाइंडिंग बाइंडिंग के लिए जो कुछ भी स्रोत है, उससे जुड़ा हुआ है। यदि आप जानते हैं कि यह समझना थोड़ा आसान हो सकता है, तो {Binding} वास्तव में {Binding DataContext,RelativeSource={RelativeSource Self}} जैसा ही है।

तो आपके मामले में कमांड पैरामीटर को बटन के वर्तमान डेटा कॉन्टेक्स्ट का मूल्य प्राप्त होता है।

10

एक खाली {Binding} क्रमशः निष्पादित और CanExecute विधियों पर नियंत्रण के वर्तमान डेटा कॉन्टेक्स्ट को पास करेगा।

चेक नीचे दिए गए लिंक

http://www.developmentalmadness.com/archive/2009/08/26/xaml-binding-to-the-current-datacontext.aspx

http://www.wpfmentor.com/2009/01/how-to-add-binding-to-commandparameter.html

+0

धन्यवाद, अपने लिंक बहुत सहायक हैं। – Bolu

+1

मुझे यकीन है कि वे थे लेकिन वे अब चले गए हैं। – Jeyenne

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