Silverlight XAML: Referencing Code-behind class -
निम्न दृश्य मॉडल परिभाषा मानते हुए:
सार्वजनिक वर्ग MyObject {सार्वजनिक स्ट्रिंग नाम {get ; सेट; }
}
सार्वजनिक इंटरफ़ेस IMyViewModel {ICommand MyCommand {get; } आईआईएलआईटी & lt; मायऑबैज & gt; MyList {प्राप्त करें; }
}
और निम्न कोड के साथ एक UserControl:
सार्वजनिक वर्ग MyView: UserControl {सार्वजनिक IMyViewModel मॉडल {get ; }
}
यदि मेरा एक्सएएमएल इस तरह दिखता है:
& lt; UserControl & gt; & Lt; ListBox ItemsSource = "{बाध्यकारी MyList}" & gt; & LT; ListBox.ItemTemplate & gt; & Lt; TextBlock Text = "{बाध्यकारी नाम}" / & gt; & Lt; बटन सामग्री = "मेरी कमान निष्पादित करें" cmd: क्लिक करें। कॉमांड = "{बाध्यकारी पथ = मेरा कॉमांड, ?????????}" सीएमडी: क्लिक करें। कॉमांड पैरामीटर = "{बाइंडिंग}" /> & LT; /ListBox.ItemTemplate> & Lt; / ListBox & gt;
मैं अपने बटन
को ICommand
मेरे कोड-पीछे वर्ग की संपत्ति से कैसे बाँध सकता हूं? < / P>
मैं प्रिज्म और एसएल 3.0 का उपयोग कर रहा हूं और मुझे अपने दृश्य मॉडल पर एक ही कमांड के लिए प्रत्येक लिस्ट बॉक्स में प्रत्येक बटन को बाइंड करने की आवश्यकता है।
मेरे UserControl
के पहले एक विशिष्ट नाम था और मैं ElementName
बाइंडिंग का उपयोग करने में सक्षम था, लेकिन अब मेरा UserControl
है एक ही मूल दृश्य में कई बार उपयोग किया जाता है इसलिए मैं उस तकनीक का अब और उपयोग नहीं कर सकता और मैं समझ नहीं सकता कि यह एक्सएएमएल में कैसे करना है।
अगर यह मेरा एकमात्र विकल्प है, तो मैं इसे कोड-पीछे में मैन्युअल रूप से कर सकता हूं, लेकिन संभवतः मैं इसे XAML में घोषणात्मक रूप से करना चाहता हूं, यदि संभव हो।
आपको इसे काम करने की आवश्यकता है क्योंकि आप यूजर कंट्रोल के संदर्भ में नहीं रह गए हैं। आप उसमें से निकल गए हैं और डेटा कॉन्टेन्टेक्स प्रोक्सी जैसे कुछ के बिना उस संदर्भ में वापस पहुंचने का कोई अच्छा तरीका नहीं है मैंने इसे अपनी परियोजनाओं के लिए उपयोग किया है और यह महान काम करता है।
Comments
Post a Comment