18
में एक नियंत्रण के लिए एक इंडेक्स्ड संपत्ति बाध्य कर सकते हैं ThisClassShouldBeTheDataContext देखने के लिए DataContextकैसे आप वर्ग का एक उदाहरण को देखते हुए WPF
class ThisClassShouldBeTheDataContext
{
public Contacts Contacts {get;set;}
}
class Contacts
{
public IEnumerable<Person> Persons {get;set;}
public Person this[string Name]
{
get
{
var p = from i in Persons where i.Name = Name select i;
return p.First();
}
}
}
class Person
{
public string Name {get;set;}
public string PhoneNumber {get;set;}
}
कैसे मैं एक पाठ बॉक्स को Contact["John"].PhoneNumber
बाध्य कर सकते हैं के रूप में?
<TextBox Text="{Binding ?????}" />
क्या होगा अगर मेरा सूचकांक एक स्ट्रिंग नहीं है, या यह वीएम से दूसरे की संपत्ति से है, का कहना है कि {बाध्यकारी होगा संपर्क [ThisIsAnotherPropertyFromTheVm] .PhoneNumber }। मैं उसे कैसे कर सकता हूँ? – Lance
यह वर्षों से हुआ है जब मैंने टिप्पणी में सवाल पूछा था जब मैं डब्ल्यूपीएफ का उपयोग करना शुरू कर रहा था, अब मैं इसका जवाब दूंगा। मुझे लगता है कि ऐसा करने का सबसे अच्छा तरीका एक अनुक्रमित संपत्ति से बंधना नहीं है। बस एक और संपत्ति का पर्दाफाश करें जहां गेटर अनुक्रमित संपत्ति वापस करेगा (यानी संपर्क [यह आईएसएथप्रॉपर्टी फ्रॉमथीवीएम] .PhoneNumber) – Lance
लिंक टूटा हुआ है –