में दो कॉलम के साथ मैंने देखा है, कुछ चीजें पाई हैं और अब ड्रॉप-डाउन एरिया में प्रदर्शित दो कॉलम के साथ एक कंबोबॉक्स पर फंस गई हैं। मेरे पास एक एक्सएमएल थीम उपलब्ध है और कंबोबॉक्स "स्टाइल" परिभाषित किया गया है और उम्मीद के अनुसार अच्छी तरह से काम करता है, ताकि हिस्सा ठीक है।डब्ल्यूपीएफ स्टाइल कम्बोबॉक्स ड्रॉपडाउन
अब, मेरे पास एक combobox है कि मुझे दो मान प्रदर्शित करने की आवश्यकता है, इसे डेटाटेबल से आने वाले ड्रॉप-डाउन के लिए राज्य संक्षेप और राज्य नाम के रूप में सोचें। आइटम के लिए डीफॉल्ट व्यू बाध्यकारी स्रोत।
अगर मैं
<my:cboStates TextSearch.TextPath="StateAbbrev">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" TextSearch.Text="{Binding Path=StateAbbrev}">
<TextBlock Text="{Binding Path=StateAbbrev}"/>
<TextBlock Text="{Binding Path=FullStateName}" Margin="10 0"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</my:cboStates>
इस काम करता है। अब, मैं कैसे/कहाँ अटक गया हूं ... अब, मैं वही कार्यक्षमता 5 अलग-अलग रूपों और सभी को समान सामग्री प्रदर्शित करने के लिए चाहता हूं, और यदि कभी भी बदल जाता है (यह नहीं, लेकिन अन्य बहु-स्तंभ comboboxes के लिए), मैं इसे सीधे फॉर्म की एक्सएएमएल फ़ाइल में रखना नहीं चाहता हूं।
मैं थीम की संसाधन शब्दकोश फ़ाइल में शामिल होने की उम्मीद कर रहा था और बस उस "शैली" को फिर से उपयोग करना जारी रखता हूं। समझ में आता है। हालांकि, जब मैं करता हूँ, और बाध्यकारी डेटा तालिका में है, केवल परिणाम मैं जब के रूप में एक शैली लटकती है करने का प्रयास कर पाने
System.Data.DataRowView
System.Data.DataRowView
System.Data.DataRowView
System.Data.DataRowView
वास्तविक 2 कॉलम के बजाय
के मूल्यों को दर्शाता है। यहां "थीम" संसाधन शब्दकोश में मेरे पास है।
<DataTemplate x:Key="myStateComboTemplate" >
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Path=StateAbbrev}"/>
<TextBlock Text="{Binding Path=FullStateName}"/>
</StackPanel>
</DataTemplate>
<Style x:Key="StyleMyStatesCombobox" TargetType="{x:Type ComboBox}"
BasedOn="{StaticResource MyOtherWorkingComboBoxStyle}" >
<Setter Property="TextSearch.TextPath" Value="{Binding Path=StateAbbrev}" />
<Setter Property="ItemTemplate" Value="{StaticResource myStateComboTemplate}" />
</Style>
तो, अगर मैं दो उदाहरणों मेरी "cboStates" वर्ग फार्म पर बनाया है, और स्पष्ट स्टाइल पहले सूचीबद्ध करने के लिए एक, और दूसरा "स्टाइल" सेटिंग के आधार पर निर्धारित किया है, दूसरा एक से विफल रहता है केवल दोहराया गया सिस्टम दिखा रहा है। डेटा.डेटाव्यूव्यू प्रविष्टियां, वास्तविक डेटा सामग्री नहीं।
मुझे क्या याद आ रही है।
तो, स्पष्ट करने के लिए मैं के लिए ... स्टेट्स क्या देख रहा हूँ ... पूर्व डेटा
AL Alabama
AK Alaska
AZ Arizona
AR Arkansas
CA California
CO Colorado
CT Connecticut
DE Delaware
मैं चाहता हूँ बता गया संक्षिप्त AL, एके, AZ, आदि और संकरा प्रदर्शित होने के लिए सम्मिश्रण पटी। यह बदले में "चयनित वैल्यू" भी होगा।
वास्तविक ड्रॉपडाउन ऊपर सूचीबद्ध सूचीबद्ध डेटा को संक्षेप में दिखाएगा और संक्षेप में राज्य का लंबा विवरण दिखाएगा।
वांछित बता गया
कोई कारण नहीं है कि आप दोनों को एक साथ जोड़ नहीं सकते? मैं सोच रहा था कि आप हमेशा टुपल का उपयोग करने का प्रयास कर सकते हैं, लेकिन यह सुनिश्चित नहीं है कि यह कैसे काम करेगा। –
@ बॉब, ट्यूपल माना जाता है, लेकिन यह एक सरल उदाहरण था जो कि एक combobox में पॉप्युलेट किया जाएगा कि कोई भी समझ सकता है। मैं वास्तव में विभिन्न प्रकार के समान comboboxes होगा कि डेटा टेबल से आ रहा होगा और अलग-अलग हो सकता है, इस प्रकार निश्चित मूल्य नहीं है। मैं डेटाबेस से पूछताछ नहीं करना चाहता था, फिर परिणाम combobox प्रस्तुति से आवश्यक के रूप में कुंजी/मूल्य/alt मूल्य/अतिरिक्त कुंजी, आदि फिर से पार्स करने के लिए बस एक और भंडारण टुपल में लूप और डाल दिया। – DRapp
'शब्दकोश <स्ट्रिंग, स्ट्रिंग>' के बारे में क्या? 'टेक्स्ट' को 'टेक्स्ट' से 'कुंजी' और अन्य 'टेक्स्टब्लॉक' के लिए 'वैल्यू' बांधें? या दो पंक्तियों से अधिक संभव है? –