2010-10-19 11 views
22

का उपयोग कर लेबल पर बाध्यकारी स्ट्रिंगफॉर्मेट मैंने स्लाइडर नियंत्रण के टूलटिप को इसकी वैल्यू प्रॉपर्टी पर बाध्य किया है और मैं इसे "वर्तमान मूल्य {0} 10" प्रदर्शित करने के लिए स्ट्रिंगफॉर्मैट का उपयोग करने की कोशिश कर रहा हूं, जहां { 0} मूल्य संपत्ति है। नीचे यह पता लगाने की कोशिश करते समय मैंने कोशिश की विभिन्न चीजों में से एक है।wpf - स्ट्रिंग शाब्दिक

<Slider.ToolTip> 
    <Label> 
    <Label.Content> 
     <Binding StringFormat="Current Value {0} of 10" 
       ElementName="DebugLevelSlider" 
       Path="Value" /> 
    </Label.Content> 
    </Label> 
</Slider.ToolTip> 

मुझे ऊपर दिए गए स्ट्रिंग अक्षर जैसे स्ट्रिंगफॉर्मेट का उपयोग करने के तरीके ऑनलाइन उदाहरण मिल रहे हैं। मैं बहुत सारी स्ट्रिंगफॉर्मेट दिनांक/समय/मुद्रा प्रारूप रूपांतरण देखता हूं। मुझे लगता है कि मेरे पास एक बहुआयामी के साथ ऐसा करने का एक तरीका है लेकिन यह आवश्यकतानुसार अतिरिक्त काम की तरह लगता है। मुझे उम्मीद है कि स्ट्रिंग शाब्दिक स्वरूपण के लिए मुझे अभी भी एक कस्टम कनवर्टर लिखना नहीं है।

मेरे ऐप में मैं अपने आप को आइटम के बगल में बहुत सारे अतिरिक्त लेबल का उपयोग करके ढूंढता हूं ताकि स्ट्रिंगफॉर्मैट में समझ प्राप्त हो जाए, उम्मीद है कि मुझे उन अनावश्यक लेबलों को खत्म करने दें।

उत्तर

32

टूलटिप के लिए, आप WPF binding with StringFormat doesn't work on ToolTips देख सकते हैं।

जहां तक ​​आप ऊपर निर्दिष्ट स्ट्रिंगफॉर्मेट को देखते हैं, तो आपको अपनी स्ट्रिंग से बचना होगा।

StringFormat="{}Current Value {0} of 10" 

यहां स्ट्रिंगफॉर्मैट उदाहरणों का एक समूह है। http://blogs.msdn.com/b/llobo/archive/2008/05/19/wpf-3-5-sp1-feature-stringformat.aspx

+1

मैं अभी भी नहीं मिल सकता है मेरी स्लाइडर के मूल्य संपत्ति पर काम करने के लिए बाध्य लेकिन यह तब काम करता है जब मैं उस चर के लिए टूलटिप को बांधता हूं जो स्लाइडर से बंधे हैं। हो सकता है कि वैल्यू एक बाध्य करने योग्य स्लाइडर प्रॉपर्टी न हो .. हम्म – TWood

94

Label.Content ताकि आप Binding.StringFormat वहाँ उपयोग नहीं कर सकते बंधन का लक्ष्य प्रकार के रूप में यह काम करने के लिए आदेश में string होना चाहिए वस्तु है।

दो कार्य आसपास हैं: के बजाय TextBlock का उपयोग करें और Text संपत्ति को बांधें।

उपयोग Label.ContentStringFormat यानी

<Label ContentStringFormat="Current Value {0} of 10" Content={Binding ...} /> 

आप केवल {} साथ string से बचने के लिए यदि आपका पहला चरित्र है जरूरत है एक {

+0

तिथियों को यहां इस तरह प्रारूपित किया जा सकता है: "प्रारंभ दिनांक: {0: डीडी-एमएम-वाईय्या}" –

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