2010-09-26 19 views
64

मैं हमेशा उन बता गया गुणWPF ComboBox DisplayMemberPath के साथ भ्रमित, SelectedValue और SelectedValuePath

  1. DisplayMemberPath
  2. SelectedValue
  3. SelectedValuePath

मैं एक मास्टर विस्तार प्रपत्र का निर्माण कर रहा हूँ के साथ संघर्ष किया है।

  1. ComboBox ग्राहकों से भरा
  2. उपयोगकर्ता
  3. कॉम्बो
  4. में एक ग्राहक सभी बक्सें ईजी सही ढंग से भरता
समस्या मुझे लगता है मैं यह काम कर दिया है, लेकिन हो रहा है

का चयन करता है मैं उन गुणों को समझने के न और मतभेद। क्या कोई नाराज उदाहरण है जो बताता है कि वे क्या करते हैं? आपको लगता है कि आत्म व्याख्यात्मक है। मुझे मत करो।

आपके इनपुट

उत्तर

135

मुझे लगता है कि हम इसे एक उदाहरण के साथ बेहतर समझ सकते हैं।

public class Employee 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

और निम्नलिखित XAML: इस वर्ग देखें Name संपत्ति को

<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Id"/> 

DisplayMemberPath अंक, इसलिए ComboBox और Employee प्रविष्टियों ड्रॉप डाउन सूची में निहित में दिखाया गया मूल्य, हो जाएगा NameEmployee ऑब्जेक्ट की संपत्ति।

अन्य दो को समझने के लिए, आपको सबसे पहले SelectedItem समझना चाहिए। SelectedItem वर्तमान में Employee ऑब्जेक्ट को ComboBox से वापस कर देगा। ComboBox में वर्तमान चयन सेट करने के लिए आप SelectedItem को Employee ऑब्जेक्ट के साथ भी असाइन कर सकते हैं। Id को

SelectedValuePath अंक, जिसका अर्थ है आप SelectedValue का उपयोग करके वर्तमान में Employee चयनित Id मिल सकती है। SelectedValue को Id पर सेट करके में वर्तमान में चयनित Employee सेट भी कर सकते हैं (जिसे हम मानते हैं Employees सूची में मौजूद होगा)।

+0

आपके उत्तर के लिए धन्यवाद। बहुत स्पष्ट! – user451259

+8

मैंने देखा है कि इन अवधारणाओं के स्पष्टीकरण को समझने के लिए यह सबसे संक्षिप्त और आसान है। – JoelWilson

+1

एनबी: यह नमूना काम नहीं करेगा, क्योंकि 'आईडी' और 'नाम' को गुण होना चाहिए, वर्ग फ़ील्ड नहीं। – Shorstok

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