2012-09-11 20 views
7

मेरी ViewModel पर अद्यतन करते हैं, मैं 2 गुण होते हैं (दोनों को लागू संपत्ति सूचनाएं बदल):दो comboboxes एक दूसरे को

CountryOfIssue 
Nationality 

मेरी देखें, मैं एक CollectionViewSource की एक स्थानीय उदाहरण की ओर इशारा करते है मेरी इकाई की रूपरेखा संदर्भ:

:

<CollectionViewSource x:Key="cvsCountries" Source="{Binding LocalContext.Countries}" CollectionViewType="{x:Type ListCollectionView}"> 
    <CollectionViewSource.SortDescriptions> 
     <scm:SortDescription PropertyName="Name" /> 
    </CollectionViewSource.SortDescriptions> 
</CollectionViewSource> 
इसके अलावा इस पृष्ठ पर

, मैं दो comboboxes CountryOfIssue के मूल्यों और राष्ट्रीयता स्थापित करने के लिए प्रयोग किया जाता है 0

इस सेटअप के साथ, जब भी मैं एक comboboxes के मान को बदलता हूं, दूसरा भी बदलता है ... क्या यह अपेक्षित व्यवहार है?

उत्तर

10

यह सामान्य है, CollectionViews एक CurrentItem है और यदि ItemsSource एक CollectionView वे सिंक्रनाइज़ है, देखते हैं (मैं एक और CollectionViewSource का उपयोग करके एक ठीक से क्रियान्वित किया है, मैं सिर्फ अगर यह सामान्य है जानना चाहता हूँ) IsSynchronizedWithCurrentItem:

सचSelectedItem हमेशा ItemCollection में वर्तमान आइटम के साथ सिंक्रनाइज़ किया जाता है; झूठी यदि SelectedItem वर्तमान आइटम के साथ कभी सिंक्रनाइज़ नहीं किया गया है; शून्य यदि SelectedItem वर्तमान आइटम के साथ सिंक्रनाइज़ किया गया है तो SelectorCollectionView का उपयोग करता है। डिफ़ॉल्ट मान शून्य है।

तो आप उस संपत्ति को false पर सेट करके मैन्युअल रूप से इसे बंद कर सकते हैं।

(वैसे, आप भी एक CollectionView की CurrentItem को एक स्लेश के माध्यम से बाध्य कर सकते हैं। उदाहरण के लिए People/NamePeople में वर्तमान व्यक्ति की Name संपत्ति को बांधता है।)

+0

कि यह किया .... – grimstoner

+0

यह मेरी मदद की जब मेरे पास 'डेटाग्रिड' कॉलम की कोशिकाओं में एकाधिक 'कॉम्बोबॉक्स' तत्व थे, और 'कलेक्शनव्यूसोर्स' का एक नया उदाहरण उन्हें बदलते समय एक ही मूल्य पर सेट कर रहा था। – Dan

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