c# - WPF ComboBox initial state from a string property -
मेरे पास एक सरल कॉम्बो है:
& lt; कॉम्बोबॉक्स x: name = "testCombo" SelectedValue = "{बाध्यकारी राज्य, मोड = दोवे}" कार्यक्षेत्रएलिन्मेंट = "केंद्र" क्षैतिज एलाइमेंट = "केंद्र" मिनवेथ = "100" & gt; & LT; ComboBoxItem & gt; खुली & lt; / ComboBoxItem & gt; & LT; ComboBoxItem & gt; बंद & lt; / ComboBoxItem & gt; & Lt; / ComboBox & gt; उस स्थिति में INOTifyPropertyChanged कार्यान्वयन के साथ केवल एक स्ट्रिंग संपत्ति है।
<पूर्व> निजी स्ट्रिंग स्थिति; सार्वजनिक स्ट्रिंग राज्य {प्राप्त {वापसी स्थिति; } सेट {state = value; OnPropertyChanged ( "राज्य"); }} मैं क्या हासिल करना चाहता हूं, जब उस राज्य स्ट्रिंग की संपत्ति को "ओपन" पर सेट किया जाता है, जब मेरी विंडो लोड होती है, तो कॉम्बोबॉक्स को "ओपन" के रूप में प्रारंभिक आइटम सेट करना है।
मैंने भी वहां एक कनवर्टर संलग्न करने का प्रयास किया:
सार्वजनिक ऑब्जेक्ट कन्वर्ट (ऑब्जेक्ट वैल्यू, टाईप टाईप टाइप करें, ऑब्जेक्ट पैरामीटर, कल्चरइन्फ़ो कल्चर) {कॉम्बो बॉक्स आईटीएम सीबीआई = नया कॉम्बोबॉक्स आईटम () ; Cbi.Content = मान स्ट्रिंग के रूप में; वापसी सीबीआई; } सार्वजनिक वस्तु कन्वर्टबैक (ऑब्जेक्ट मान, टाईप टाईप टाइप करें, ऑब्जेक्ट पैरामीटर, कल्चरइन्फ़ो कल्चर) {रिटर्न (कॉम्बोबॉक्स आईटॉम के रूप में मान) .सामग्री; } इसके साथ, मेरी स्टेट स्ट्रिंग संपत्ति अच्छी तरह से आबादी होगी, लेकिन कॉम्बो बॉक्स वांछित प्रारंभिक स्थिति में नहीं पहुंच पाएगा।
कॉम्बोबॉक्सआइटम की सामग्री की तुलना में नहीं बल्कि संदर्भ और आपके द्वारा बनाए गए उदाहरण से कनवर्टर में ऐसा कोई भी उदाहरण नहीं है जो कॉम्बो बॉक्स में प्रदर्शित होता है, इसलिए वे समान नहीं होंगे। आप क्या कर सकते हैं आइटम्सस्सोर्स को स्ट्रिंग्स की सूची के रूप में सेट और SelectedItem सीधे किसी भी कनवर्टर के बिना स्ट्रिंग प्रॉपर्टी
& lt; कॉम्बोबॉक्स चयनितआइटम =" {बाध्यकारी राज्य, मोड = दोवाँ} "x: name =" testCombo "& gt; & LT; ComboBox.ItemsSource & gt; & Lt; x: सरणी प्रकार = "{x: प्रकार की:: स्ट्रिंग}" & gt; & LT; sys: स्ट्रिंग & gt; खुली & lt; / sys: स्ट्रिंग & gt; & LT; sys: स्ट्रिंग & gt; बंद & lt; / sys: स्ट्रिंग & gt; & Lt; / एक्स: सरणी & gt; & LT; /ComboBox.ItemsSource> & Lt; / ComboBox & gt; आपको sys नाम स्थान को अपने एक्सएएमएल को भी जोड़ना होगा
xmlns: sys = "clr-namespace: सिस्टम, विधानसभा = एमएससीर्लब्ब "
Comments
Post a Comment